JAVA里面如何让一个线程死亡或结束计算机等级考试
文章作者 100test 发表时间 2010:01:24 16:53:31
来源 100Test.Com百考试题网
这问题也是很常见的问题,自打 stop不推荐使用后,我们还有别的可以选择的方法吗?
设置一个标志,让其自动return最安全。
/**
* JAVA里面如何使用一个线程死亡或结束.
*
*/
public class T {
public static void main(String[] args) {
// 启动线程
MyThread thread = new MyThread().
new Thread(thread).start().
// 你的其它的工作,此时线程在运行中
// 你不想让线程干活了,停掉它
// 注意,这只是一个标志,具体线程何时停,并不能精确控制
thread.allDone = true.
}
}
class MyThread implements Runnable {
boolean volatile allDone = false.
public void run() {
// 每次循环都检测标志
// 如果设置停止标志时已经在循环里
// 则最长需要等待一个循环的时间才能终止
while (!allDone) {
// 循环里的工作
}
}
}
修正,增加了 volatile 关键字,避免多个CPU出问题。