대기 위치를 정하는 기준
기다리는 대상이 시간인지 공유 조건인지 구분하면 올바른 도구가 드러난다.
| 대기 이유 | 락 처리 | 도구 |
|---|---|---|
| 업무와 무관한 지연 | 먼저 해제 | 잠금 밖 sleep |
| 큐 상태 변경 | 반납하며 대기 | wait 또는 Condition |
| 현재 상태만 확인 | 즉시 해제 | try 메서드 |
| 정해진 시간만 양보 | 반납과 마감 계산 | timed offer |
핵심: 대기 시간을 줄이는 조정으로 잘못된 잠금 소유 구조를 고칠 수는 없다.
기다리는 대상이 시간인지 공유 조건인지 구분하면 올바른 도구가 드러난다.
| 대기 이유 | 락 처리 | 도구 |
|---|---|---|
| 업무와 무관한 지연 | 먼저 해제 | 잠금 밖 sleep |
| 큐 상태 변경 | 반납하며 대기 | wait 또는 Condition |
| 현재 상태만 확인 | 즉시 해제 | try 메서드 |
| 정해진 시간만 양보 | 반납과 마감 계산 | timed offer |
핵심: 대기 시간을 줄이는 조정으로 잘못된 잠금 소유 구조를 고칠 수는 없다.