您的位置:首页 > 编程语言 > Java开发

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

2012-06-08 09:22 525 查看

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

 
原文:http://www.java2000.net/p11369

这问题也是很常见的问题,自打 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出问题。
 

原文地址:http://blog.csdn.net/java2000_net/article/details/3180806
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息