mutex
-
Synchronization대학/시스템소프트웨어 2022. 12. 11. 16:29
두 개 이상의 스레드가 하나의 메모리 공간을 동시에 참조하는 경우, 레이스 컨디션이 발생하여 프로그램을 실행할 때 마다 다른 결과가 출력되는 일이 발생할 수 있다. 이를 방지하기 위해 동기화를 하고, critical section(임계 영역)에 접근할 수 있는 스레드의 수를 제한한다. 동기화를 달성하기 위한 방법으로 mutex와 semaphore가 있다. - Mutex mutual exclusion(상호 배제)의 약자로 lock이라고도 한다. 기본적인 아이디어는 임계 영역에 진입할 때는 스레드가 뮤텍스를 잠그고, 나갈 때 잠금을 해제하는 아이디어이다. 즉, 잠겨있는 뮤텍스 아래로는 실행이 불가능하다. 뮤텍스를 사용할 때 주의할 점은, 임계영역으로 진입한 스레드가 뮤텍스를 풀기 전 중지되면 안된다는 것이다..