한 대기실은 역할을 섞고 두 대기실은 신호 대상을 드러낸다

두 구조 모두 while 재검사가 필요하지만 깨울 집합의 정확도가 다릅니다.

Object wait set

생산자·소비자 혼합 · notifyAll

notFull

생산자만 대기 · 소비가 signal

notEmpty

소비자만 대기 · 생산이 signal

핵심: Condition 분리의 첫 이득은 미세 성능보다 술어와 변경자의 대응이 코드에 보이는 점입니다.