2

ネットワークからいくつかのファイルを取得するために Executor Service を使用していくつかのスレッドを開始しました。実行メソッドが完了していなくても、スレッドの実行を一定時間後に停止させたいです。どうやってするか?エグゼキュータの shutdown() および awaitTermination(...) メソッドでさえ機能しませんでした。

4

1 に答える 1

5

簡単な答えは、できないということです。Thread.stop() は、信頼性が低く、汚れたリソースを置き去りにする傾向があったため、かなり前に廃止されました。

他にできる唯一のことは、ワークロード中にスレッドを一時停止し、終了条件 (中断された、または事前定義された時間制限を超えたなど) をチェックすることです。

于 2013-03-17T18:52:48.467 に答える