시간 추측과 실제 thread 종료 사건을 같은 것으로 취급하지 않는다.
호출자만 일정 시간 쉬고 worker 상태는 확인하지 않는다
대상 run이 끝날 때 호출자가 깨어난다
핵심: CI 부하와 GC pause가 바뀌어도 기능 순서는 사건 기반이어야 한다.