問題スレッドをタイムアウトする方法提案された解決策は、実行するオブジェクトをExecutorService
送信できるクラスで機能します。Runnable
このExecutorService
クラスは、すべてのタスクの実行を停止するshutdown
との 2 つのメソッドを提供します。shutdownNow
しかし、Java API は次のように述べていますshutdownNow
。
「アクティブに実行中のすべてのタスクを停止しようとし、待機中のタスクの処理を停止し、実行を待機していたタスクのリストを返します。アクティブに実行中のタスクの処理を停止するためのベスト エフォートの試行を超える保証はありません。たとえば、典型的な実装では、 Thread.interrupt() を介してキャンセルするため、割り込みに応答しないタスクは決して終了しない可能性があります。」
保証付きのタスクの終了を実行する方法がない場合、私は疑問に思っていましたか?