线程状态观测

public static void main(String[] args) {
Thread thread=new Thread(()->{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
System.out.println("子线程");
});
//创建完对象后,观察线程的状态
Thread.State state = thread.getState();
System.out.println(state);
//start后线程进入就绪状态
thread.start();
System.out.println(thread.getState());
while (state!=Thread.State.TERMINATED){
//若线程不死 就一直输出
//等待状态说明执行中,出现了阻塞睡眠
try {
Thread.sleep(100);
state=thread.getState();
System.out.println(state);
} catch (InterruptedException e) {
}
}
//线程停止之后不能再次运行,会出现异常
//Exception in thread "main" java.lang.IllegalThreadStateException
//at java.lang.Thread.start(Thread.java:708)
//at com.zz.state.TestThreadState.main(TestThreadState.java:40)
//thread.start();
}