位置:首頁 > Java技術 > java實例教學 > Java如何檢查一個線程停止或冇有?

Java如何檢查一個線程停止或冇有?

Java如何檢查一個線程停止或冇有?

解決方法

下麵的示例演示如何使用 isAlive()方法檢查一個線程是否停止。

public class Main {
   public static void main(String[] argv) 
   throws Exception {
      Thread thread = new MyThread();
      thread.start();
      if (thread.isAlive()) {
         System.out.println("Thread has not finished");
      }
      else {
         System.out.println("Finished");
      }
      long delayMillis = 5000; 
      thread.join(delayMillis);
      if (thread.isAlive()) {
         System.out.println("thread has not finished");
      }
      else {
         System.out.println("Finished");
      }
      thread.join();
   }
}

class MyThread extends Thread {
   boolean stop = false;
   public void run() {
      while (true) {
         if (stop) {
            return;
         }
      }
   }
}

結果

上麵的代碼示例將產生以下結果。

Thread has not finished
Finished