位置:首頁 > Java技術 > java實例教學 > Java檢查線程活著

Java檢查線程活著

如何檢查一個線程是否活著?

解決方法

下麵的示例演示如何通過擴展Threda類和使用currentThread()方法檢查一個線程是否活著。

public class TwoThreadAlive extends Thread {
   public void run() {
      for (int i = 0; i < 10; i++) {
      printMsg();
   }
}

public void printMsg() {
   Thread t = Thread.currentThread();
   String name = t.getName();
   System.out.println("name=" + name);
}

public static void main(String[] args) {
   TwoThreadAlive tt = new TwoThreadAlive();
   tt.setName("Thread");
   System.out.println("before start(), 
   tt.isAlive()=" + tt.isAlive());
   tt.start();
   System.out.println("just after start(), 
   tt.isAlive()=" + tt.isAlive());
   for (int i = 0; i < 10; i++) {
      tt.printMsg();
   }
   System.out.println("The end of main(),
      tt.isAlive()=" + tt.isAlive());
   }
}

結果

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

before start(),tt.isAlive()=false
just after start(), tt.isAlive()=true
name=main 
name=main 
name=main 
name=main 
name=main 
name=Thread
name=Thread 
name=Thread 
name=Thread
name=Thread 
name=Thread 
name=Thread 
name=main 
name=main 
The end of main().tt.isAlive()=false