10、线程池之interruptIdleWorkers
作者:
kele2018 | 来源:发表于
2020-03-17 15:25 被阅读0次
private void interruptIdleWorkers(boolean onlyOne) {
final ReentrantLock mainLock = this.mainLock;
mainLock.lock();
try {
for (Worker w : workers) {
Thread t = w.thread;
//假如worker正在执行任务 是获取不到锁的
if (!t.isInterrupted() && w.tryLock()) {
try {
t.interrupt();
} catch (SecurityException ignore) {
} finally {
w.unlock();
}
}
if (onlyOne)
break;
}
} finally {
mainLock.unlock();
}
}
本文标题:10、线程池之interruptIdleWorkers
本文链接:https://www.haomeiwen.com/subject/drptyhtx.html
网友评论