- 공유 자원(Shared Resource)을 lock() 통해 잠금설정 하고 unlock()통해 잠금해재가 되는 객체. lock 기반으로 경쟁 상태(Race Condition)를 해결
- 한번에 하나의 프로세스만 임계 영역에 존재 가능
- 풀어 쓰면 상호 배제
상태
locked, unlocked 두 가지 상태 있음
뮤텍스 처음 생성하면 해제 상태임. acquire(), release() 두 메서드 있음.
- acquire()
- 뮤텍스 상태를 잠김으로 바꿈
- 이후 release()까지 해당 뮤텍스의 실행 차단됨
- release()
- 잠김 상태의 뮤텍스에서만 호출 가능
- 호출 시, 잠김 상태 해제되고 메서드를 호출했던 지점으로 돌아감
