通过继承 Thread 类创建线程并使用 isAlive() 方法来检测一个线程是否存活
package com.gaodaima; public class ThreadAliveTest 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) { ThreadAliveTest tt = new ThreadAliveTest(); tt.setName("Thread"); System.out.println("执行前, tt.isAlive()=" + tt.isAlive()); tt.start(); System.out.println("执行后, tt.isAlive()=" + tt.isAlive()); for (int i = 0; i < 10; i++) { tt.printMsg(); } System.out.println("代码跑完了之后, tt.isAlive()=" + tt.isAlive()); } }
执行结果:
执行前, tt.isAlive()=false 执行后, tt.isAlive()=true name=main name=main name=main name=main name=main name=main name=main name=main name=main name=main 代码跑完了之后, tt.isAlive()=true name=Thread name=Thread name=Thread name=Thread name=Thread name=Thread name=Thread name=Thread name=Thread name=Thread