【发布时间】:2012-10-18 16:21:00
【问题描述】:
我正在尝试关闭线程池中的所有线程。
通常我会尝试:
while(!Thread.currentThread().isInterrupted()) {...
关闭while循环...
但我有一个只包含大约的线程
while(!Thread.currentThread().isInterrupted()) {//which is true
这就是我关闭线程的方式:
pool.shutdownNow();
那么你将如何关闭这样的线程呢?
【问题讨论】:
-
你需要知道那个线程的退出条件......
-
当你在你的
extends Thread类的方法中有上述while循环时,你可以使用this.isInterrupted()而不是Thread.currentThread().isInterrupted()。 -
@Philipp 希望 OP 不会扩展
Thread。 -
@Philipp 这是一种被广泛接受的最佳实践。只需谷歌搜索“java 扩展线程”即可找到所有相关信息。这些教程显然是在伤害他们的读者。
-
@Philipp 官方文档不是要推荐的,而是要...好吧,document,在这种情况下,确实有两种方法可以提供条目指向
Thread实例。
标签: java multithreading thread-safety threadpool