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



相关文章


巧用C的Time函数进行时间转换计算机等级考试
从“交换两个变量而不用临时变量”谈起计算机等级考试
Java异常集计算机等级考试
Java六种异常处理的陋习计算机等级考试
JAVA里面如何让一个线程死亡或结束计算机等级考试
JAVA生成不重复随机数的一种算法计算机等级考试
Java序列化的简单例子计算机等级考试
Java中的传值和传址计算机等级考试
JAVA实现图片的任意方向反转计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛