当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015计算机二级考试指导:JAVA里面如何让一个线程死亡或结束
发布时间:2010/3/10 16:09:19 来源:城市学习网 编辑:MOON
  这问题也是很常见的问题,自打 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出问题。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved