Я создаю ThreadPool
с 10 фиксированными потоками в нем. . Иногда мне нужно прервать длительный поток в пуле потоков, в основном потому, что они блокируются в какой-то операции, и происходит тайм-аут, и я прерываю поток. Я ловлю InterruptedException
и также устанавливаю статус потока для прерывания. В этом случае мой вопрос заключается в том, создает ли ThreadPool
новый поток и заменяет ли прерванный поток новым?
Ниже приведен пример кода, который выполняется классом Thread. Вопрос в том, когда этот поток прерывается, заменяет ли пул потоков этот поток новым?
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;
}