뮤텍스는 공유 자원의 임계 구역에 한 번에 하나의 실행 흐름만 들어가도록 하는 상호 배제 동기화 수단이다.
원리
잠금을 획득한 흐름이 보호된 작업을 수행하고 끝나면 해제한다. 공유 상태에 접근하는 모든 관련 경로가 같은 보호 규칙을 따라야 한다.
예시
공유 카운터를 읽고 증가시켜 저장하는 여러 단계의 연산을 잠금으로 보호하면 동시 갱신의 유실을 막는 데 도움이 된다.
주의할 점
한 경로라도 잠금 없이 접근하면 보호가 깨질 수 있다. 예외나 조기 반환에서도 해제하도록 하고 여러 잠금을 사용할 때 순서와 교착 가능성을 검토한다.