如何让一个线程死亡或结束
来源:优易学  2010-1-22 15:11:58   【优易学:中国教育考试门户网】   资料下载   IT书店
 这问题也是很常见的问题,自打 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出问题。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训