join 시작
caller TIMED_WAITINGbudget begins
메서드가 정상 반환했다는 사실과 대상 완료를 분리한다.
caller TIMED_WAITINGbudget begins
worker TERMINATEDresult usable
worker still aliveresult unavailable
interrupt·계속 대기·분리policy
핵심: 반환 직후 isAlive를 확인하지 않으면 null 또는 중간 결과를 성공으로 다룰 수 있다.