package com.kaka.thread;
//观察测试线程状态
public class StateThread {
public static void main(String[] args) throws InterruptedException {
//此处用了lambda表达式:
//1.new thread对象时,调用Thread(Runnable tagert)构造函数
//2.此处target是一个Runnable类型对象,因此肯定有一个重写的run()方法
//3.因此直接在此处用lambda表达式写带花括号的方法,节省需要写的代码量
Thread thread=new Thread(()->{
for (int i = 0; i < 5; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}//5秒后输出以下符号
}
System.out.println("//////");
});
//观察状态
Thread.State state=thread.getState();
System.out.println(state);//new
//观察启动后的线程状态
thread.start();//启动线程
state=thread.getState();
System.out.println(state);//RUNNABLE
//只要线程不停止就一直输出状态
while(state != Thread.State.TERMINATED){
//1秒钟输出10次状态
Thread.sleep(100);
state=thread.getState();
System.out.println(state);
}
}
}
原文:https://www.cnblogs.com/kakafa/p/14994521.html