취소 신호를 무시하면 Future 상태와 실제 작업 실행이 어긋난다.
cancel true가 작업자에 인터럽트를 보낸다.
sleep이 InterruptedException을 던진다.
catch가 상태 복구 없이 계속 진행한다.
호출자는 취소됐다고 믿지만 작업은 남는다.
핵심: 인터럽트를 받으면 정리 후 반환하거나 상위 계층이 보도록 상태를 복구한다.