目录
1.前言
2.状态列表
3.代码演示
1.前言
在线程中,有很多的状态。这些状态代表了线程目前所处的位置和情况,我们也可以通过这些状态,在以后的工作中,精准的定位到程序出现的问题。
2.状态列表
在Thread类所创建的对象中,有以下几种状态。我们先通过一张图来大致的看一下。然后逐个介绍这些状态:
1.NEW:Thread对象创建完毕,但是还没调用start方法,所以在系统中,这时候还没创建线程。
2.TERMINATED:(终止) 和第一种相反,Thread对象创建完毕,但是start调用完成,线程已经执行完毕了。
3.RUNABLE.就绪状态,线程正在执行,或者在待命中,随时准备执行。
4.TIMED_WAITING 指定时间的阻塞,如sleep方法
5.WATING 阻塞(死锁)要满足一定条件后才能执行
6.BLOCKED 由于锁竞争引起的
3.代码演示
1.NEW 和 TERMINATED
public class demo6 {
public static void main(String[] args) throws InterruptedException {
Thread t = new Thread(()->{
for (int i = 0; i < 5; i++) {
System.out.println("线程执行中");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
});
System.out.println(t.getState());
t.start();
t.join();
System.out.println(t.getState());
}
}
2.RUNNABLE 和TIMED_WAITING