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

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                原文:http://www.java2000.net/p11369
这问题也是很常见的问题,自打 stop不推荐使用后,我们还有别的可以选择的方法吗?
设置一个标志,让其自动return最安全。
  1. /**
  2.  * JAVA里面如何使用一个线程死亡或结束.
  3.  * @author 赵学庆,Java世纪网(java2000.net)
  4.  *
  5.  */
  6. public class T {
  7.   public static void main(String[] args) {
  8.     // 启动线程
  9.     MyThread thread = new MyThread();
  10.     new Thread(thread).start();

  11.     // 你的其它的工作,此时线程在运行中

  12.     // 你不想让线程干活了,停掉它
  13.     // 注意,这只是一个标志,具体线程何时停,并不能精确控制
  14.     thread.allDone = true;

  15.   }

  16. }

  17. class MyThread implements Runnable {
  18.   boolean volatile allDone = false;

  19.   public void run() {
  20.     // 每次循环都检测标志
  21.     // 如果设置停止标志时已经在循环里
  22.     // 则最长需要等待一个循环的时间才能终止
  23.     while (!allDone) {
  24.       // 循环里的工作
  25.     }
  26.   }
  27. }
修正,增加了 volatile 关键字,避免多个CPU出问题。
           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/jgfyyfd/article/details/83821461
今日推荐