저수준 모니터 사용 범위
직접 대기는 상태 모델이 작고 표준 큐로 표현하기 어려울 때만 유지할 가치가 있다.
| 검토 질문 | 판정 | 조치 |
|---|---|---|
| 조건이 큐 연산인가 | 그렇다 | BlockingQueue 우선 |
| 조건 종류가 하나인가 | 그렇다 | 단일 모니터 가능 |
| 역할별 신호가 필요한가 | 그렇다 | Condition 분리 |
| 취소가 중요한가 | 그렇다 | InterruptedException 전파 |
핵심: 정상 데이터, 빈 상태, 취소는 각각 다른 결과로 호출자에게 전달해야 한다.
직접 대기는 상태 모델이 작고 표준 큐로 표현하기 어려울 때만 유지할 가치가 있다.
| 검토 질문 | 판정 | 조치 |
|---|---|---|
| 조건이 큐 연산인가 | 그렇다 | BlockingQueue 우선 |
| 조건 종류가 하나인가 | 그렇다 | 단일 모니터 가능 |
| 역할별 신호가 필요한가 | 그렇다 | Condition 분리 |
| 취소가 중요한가 | 그렇다 | InterruptedException 전파 |
핵심: 정상 데이터, 빈 상태, 취소는 각각 다른 결과로 호출자에게 전달해야 한다.