다중스레드1 (멀티쓰레딩, 비동기처리)다중 쓰레드 동기화 - Mutex 임계영역이란? - 함수 내에 둘 이상의 쓰레드가 동시에 실행하면 문제를 일으키는 하나 이상의 문장으로 묶여있는 코드블록 이러한 임계영역에서 문제를 피하고 다중 쓰레드를 동기화 시키는데 여러 기법들이 존재한다. 운영체제 마다 각 기법의 구현방법이 다르다. Mutex 임계영역을 통과할때 사용하는 자물쇠라고 보면된다. - 과정 뮤텍스 오브젝트를 초기화 해준 후 임계영역 진입부에 뮤텍스락을 걸어준다. 현재 진입한 스레드 외에 다른 스레드는 락을건 부분에서 락이 풀릴때까지 블로킹 되며 진입스레드가 작업 마치고 락을 풀고 나가면 기다리던 스레드 중 하나가 다시 진입하고 락을 걸게된다. 모든 임계영역내 작업을 마친 뒤 해당 뮤텍스 오브젝트를 해제하면 끝난다. 하지만 이렇게 락을 걸었어도 락을건 Blocking상태에서.. 2020. 10. 13. 이전 1 다음