락을 쥔 sleep이 만드는 정지 상태

생산자가 모니터를 반납하지 않으면 조건을 바꿀 소비자가 입구에서 멈춘다.

1

가득 찬 큐

size == capacity

추가 생산자는 빈칸을 기다려야 한다.

2

생산자 수면

TIMED_WAITING

sleep 중에도 모니터 소유권은 유지된다.

3

소비자 입구

BLOCKED

take 메서드의 임계 영역에 진입하지 못한다.

4

조건 고정

size unchanged

빈칸 생성자가 실행되지 않아 같은 상태가 반복된다.

핵심: 시간이 지나도 조건 변경 주체가 잠금 밖에 있으면 진행은 회복되지 않는다.