BLOCKED와 WAITING은 소유권과 취소 표면이 다르다
둘 다 CPU를 쓰지 않지만 monitor 진입과 명시적 대기 프로토콜은 해제 조건이 다릅니다.
| 상태 | 대기 원인 | 해제 |
|---|---|---|
| BLOCKED | monitor 소유권 | 소유자 unlock |
| WAITING | park·wait·join | unpark·notify·완료 |
| TIMED_WAITING | 시간 제한 대기 | 시간·신호 |
| interrupt | API별 다름 | 예외·flag 반환 |
핵심: thread dump에서는 state 이름뿐 아니라 어떤 lock·blocker를 기다리는지 확인합니다.