isAlive方法
要点
- public final native boolean isAlive(); 存活返回true,非存活返回false。
isAlive
该方法返回线程是否是存活状态,存活返回true,非存活返回false。什么叫存活状态,一个线程已经启动单尚未死亡。(A thread is alive if it has been started and has not yet died.)我们用个小案例选演示一下。
public final native boolean isAlive();
public class TestIsAliveMethod {
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
// start()之后,如果马上运行退出我们获取不到线程在运行的状态。
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
System.out.println("t1线程start前的状态 " + t1.isAlive());
t1.start();
System.out.println("t1线程start后的状态 " + t1.isAlive());
boolean alive = Thread.currentThread().isAlive();
System.out.println("打印main线程的alive状态:" + alive);
}
}
上面的案例中我们打印了子线程(t1)在start前后的存活状态。还通过currentThread()方法获取了主线程并打印了状态。