상태 변경
queue changed생산 또는 소비가 반대 술어를 참으로 만든다.
깨워진 모든 스레드가 임계 영역을 동시에 실행하는 것은 아니다.
queue changed생산 또는 소비가 반대 술어를 참으로 만든다.
notifyAll대기 집합의 모든 역할이 모니터를 경쟁한다.
lock acquired현재 조건이 맞는 작업 하나가 진행한다.
condition false조건에서 진 참여자는 다시 대기한다.
핵심: 전체 알림은 동시 실행이 아니라 올바른 역할의 재검사 가능성을 보장한다.