以下实例演示了如何通过继承 Thread 类并使用 isAlive() 方法来检测一个线程是否存活:
TwoThreadAlive.java 文件
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()=falsejust after start(), tt.isAlive()=truename=mainname=Threadname=mainname=mainname=mainname=mainname=mainname=mainname=mainname=mainname=mainname=Threadname=Threadname=Threadname=Threadname=ThreadThe end of main(), tt.isAlive()=truename=Threadname=Threadname=Threadname=Thread