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