InterruptedException을 처리할 계층 선택
재사용 helper와 최상위 Runnable 경계의 책임을 구분한다.
| 위치 | 가능한 처리 | 피해야 할 동작 |
|---|---|---|
| 중간 helper | throws로 상위 전달 | 빈 catch |
| signature 제한 경계 | cleanup·flag 복원·반환 | 무조건 RuntimeException |
| owner loop | cancel outcome 기록 | 조용한 누락 |
핵심: 정상 shutdown interrupt와 예상 밖 중단을 owner 상태와 함께 로그에 남긴다.