1. 程式人生 > >JAVA裡面如何讓一個執行緒死亡或結束

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

這裡寫圖片描述