notify와 notifyAll의 생존성 비용

정확한 역할 선택 능력과 불필요한 각성 수를 따로 비교해야 한다.

notify

대기자 한 명만 깨우지만 역할 선택을 통제하지 못한다.

기아 위험

notifyAll

모든 대기자에게 조건 재검사 기회를 제공한다.

각성 증가

단일 Condition

역할이 섞여 전체 신호가 안전한 기본값이 된다.

단순성

분리 Condition

반대 역할의 대기실만 지정해 깨울 수 있다.

구조 추가
우선순위먼저 모든 스케줄에서 완료 가능한 구조를 확보한다.

핵심: 각성 비용은 측정하고 생존성은 모든 실행 순서에서 보장해야 한다.