直接来自这个 java 教程:
有谁能说清楚点吗?任务和中断和关闭方法有什么关系? 是否仅表示 意味着如果有任务在等待它必须抛出 InterruptedException
的东西?
提前致谢。
最佳答案
想象一下你用 ExecutorService 运行了这个任务
class Task implements Runnable() {
public void run() {
while(true) {
}
}
}
现在你想用 shutdownNow() 关闭 ExecutorService。 ExecutorService 将在运行任务的线程上调用 interrupt(),但由于任务不响应中断,它将继续运行并且 ExecutorService 永远不会关闭。
以下更改将使此任务可中断
while(!Thread.interrupted()) {
}
并允许 ExecutorService 关闭
关于java - 中断、关闭方法和 ExecutorService,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17830075/