인터럽트를 삼킨 작업의 생존

취소 신호를 무시하면 Future 상태와 실제 작업 실행이 어긋난다.

  1. 취소 요청

    cancel true가 작업자에 인터럽트를 보낸다.

  2. 예외 포착

    sleep이 InterruptedException을 던진다.

  3. 신호 소실

    catch가 상태 복구 없이 계속 진행한다.

  4. 부수 효과 실행

    호출자는 취소됐다고 믿지만 작업은 남는다.

핵심: 인터럽트를 받으면 정리 후 반환하거나 상위 계층이 보도록 상태를 복구한다.