Condition 분리는 서로 다른 술어가 실제로 공존할 때 가치가 있다

대기실 수는 역할 이름이 아니라 독립된 진행 조건의 수에서 나옵니다.

대기 술어가 몇 개인가진행 조건과 신호 변경자를 센다

대기 없음

단순 Lock·synchronized

술어 하나

Condition 하나 또는 monitor

술어 여러 개

역할별 Condition

표준 큐 계약

BlockingQueue 우선

핵심: 표준 BlockingQueue가 요구를 만족하면 직접 프로토콜을 유지할 이유가 줄어듭니다.