线程生命周期
小于 1 分钟
线程生命周期
JDK 中用 Thread.State 枚举表示了线程的几种状态
线程状态。 线程可以处于以下状态之一
- NEW: 尚未启动的线程处于此状态。
- RUNNABLE: 在Java虚拟机中执行的线程处于此状态。
- BLOCKED: 被阻塞等待监视器锁定的线程处于此状态。
- WAITING: 正在等待另一个线程执行特定动作的线程处于此状态。
- TIMED_WAITING: 正在等待另一个线程执行动作达到指定等待时间的线程处于此状态。
- TERMINATED: 已退出的线程处于此状态。
线程状态转换图

写程序查看线程状态
package commonThread;
public class Thread06 {
public static void main(String[] args) throws InterruptedException {
X x = new X();
System.out.println(x.getName() + " 状态 " + x.getState());
x.start();
while (Thread.State.TERMINATED != x.getState()){
System.out.println(x.getName() + " 状态 " + x.getState());
Thread.sleep(500);
}
System.out.println(x.getName() + "状态" + x.getState());
}
}
class X extends Thread {
@Override
public void run(){
while (true){
for (int i = 0; i <= 10; i++){
System.out.println("hi~~~" + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
break;
}
}
}