JAVA里面如何让一个线程死亡或结束

这问题也是很常见的问题,自打 stop不推荐使用后,我们还有别的可以选择的方法吗?

设置一个标志,让其自动return最安全。

/**

* JAVA里面如何使用一个线程死亡或结束.

* @author 赵学庆,Java世纪网(java2000.net)

*

*/

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出问题。

标签: 线程里面死亡
------分隔线----------------------------
· 首页 · 注册

百鸣[Baiming.org]欢迎您 百鸣[Baiming.org]欢迎您~