ThreadPool
10 個の固定スレッドを含む を作成します。スレッドプールで実行時間の長いスレッドを中断する必要がある場合があります。これは主に、スレッドが一部の操作でブロックされており、タイムアウトが発生してスレッドを中断するためです。をキャッチしInterruptedException
、スレッドのステータスも割り込みに設定します。その場合、私の質問は、ThreadPool
新しい Thread を作成し、中断されたスレッドを新しい One に置き換えますか? 以下は、スレッドによって実行されるサンプル コードです。質問は、このスレッドが中断された場合、スレッド プールはこのスレッドを新しいスレッドに置き換えますか?
public ResponseMessage call(){
Future<ResponseMessage> future = CacheManager.getInstance().asyncFetch();
ResponseMessage response = null;
try {
response = future.get();
}
catch (InterruptedException e) {
Thread.currentThread().interrupt();
} catch (ExecutionException ex) {
//create a blank response
}
return response;
}