전체 알림 뒤에도 실제 원소를 차지하는 소비자는 하나뿐이다.
queue empty
두 소비자가 같은 조건을 기다린다.
size = 1
생산자가 상태 변경을 알린다.
size = 0
잠금을 먼저 얻은 스레드가 값을 제거한다.
empty again
뒤늦은 스레드는 다시 잠들어야 한다.
핵심: 한 번 참이었던 조건은 다른 스레드의 상태 전이로 다시 거짓이 될 수 있다.