Tôi tạo một ThreadPool
với 10 chủ đề cố định trong đó. Đôi khi tôi cần phải làm gián đoạn một chuỗi dài trong hồ bơi chủ đề, chủ yếu là vì họ đang chặn trong một số hoạt động và một thời gian chờ xảy ra và tôi làm gián đoạn sợi. Tôi bắt các InterruptedException
và thiết lập trạng thái của Thread để ngắt. Trong trường hợp đó, câu hỏi của tôi là, không ThreadPool
tạo một Chủ đề mới và thay thế chuỗi bị gián đoạn bằng một chuỗi mới? Dưới đây là mã ví dụ được thực hiện bởi Chủ đề. Câu hỏi là, khi thread này bị gián đoạn, không thread thread thay thế thread này với một cái mới?cách trình xử lý tác vụ của hồ bơi thực thi java với chủ đề bị gián đoạn
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;
}
loại threadpool bạn đang sử dụng? – dash1e
Bạn biết rằng 'get()' có quá tải chấp nhận hết thời gian, phải không? – erickson
'StopWatch' làm gì? – erickson