대기 스레드는 깨어난 사실만 믿지 않습니다. 뮤텍스를 다시 얻은 뒤 프레디케이트로 공유 상태를 확인해야 안전하게 진행할 수 있습니다.
큐, 플래그, 종료 조건은 같은 뮤텍스로 읽고 씁니다.
조건이 거짓이면 뮤텍스를 놓고 대기 상태로 들어갑니다.
알림이나 가짜 깨어나기 후에도 프레디케이트가 참인지 다시 확인합니다.
생산 완료 같은 종료 조건을 포함해야 소비자가 영원히 기다리지 않습니다.