フューチャーをキャンセルせずに中断する方法はありますか?
boolean cancel(boolean mayInterruptIfRunning)
このタスクの実行をキャンセルしようとします。タスクがすでに完了している場合、すでにキャンセルされている場合、またはその他の理由でキャンセルできなかった場合、この試行は失敗します。成功し、cancelが呼び出されたときにこのタスクが開始されていない場合、このタスクは実行されません。タスクがすでに開始されている場合、mayInterruptIfRunningパラメーターは、タスクを停止するためにこのタスクを実行しているスレッドを中断する必要があるかどうかを決定します。
割り込みをキャプチャするには、割り込み例外を適切にキャッチするか、Runnable / Callableメソッド内のisInterrupted()メソッドを確認する必要があります。
しかし、Futureインターフェースを使用して実行中のFutureを中断する方法はありません
すべてのスレッドがエグゼキュータサービスプールにあるため、誰もthread.interrupt()を実行できません。フューチャーがキャンセルされたとき、またはスレッドプールが終了したときにのみ割り込みが発生すると想定されているのはそのためですか?
Futureインターフェースに割り込みメソッドがない理由を理解しようとしています。どんな助けでも大歓迎です