저수준 monitor는 단순한 단일 조건 경계에서만 사용한다
복잡한 Queue·여러 조건·시간 제한이 필요하면 고수준 도구가 더 명확합니다.
| 상황 | 선택 | 이유 |
|---|---|---|
| 한 칸 교육 예 | wait/notifyAll | 프로토콜 학습 |
| 유한 Queue | BlockingQueue | 완성된 계약 |
| 여러 조건 | Condition | 대기 집합 분리 |
| 비동기 결과 | Future | 완료 전달 |
| 단순 상호 배제 | synchronized | 대기 없음 |
핵심: wait·notify는 반드시 같은 monitor 소유 아래 호출합니다.