1. 程式人生 > 其它 >執行緒狀態程式碼演示

執行緒狀態程式碼演示

package 執行緒停止;
//檢測執行緒狀態
public class TestState{
public static void main(String[] args) throws InterruptedException {
Thread thread = new Thread(() -> {//啟動執行緒只有一個語句用lambdal表示式
for (int i = 0; i < 5; i++) {//WAIT執行緒阻塞
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("/////////////////");
});


//觀察狀態
Thread.State state =thread.getState();
System.out.println(state);//NEW
//啟動後
thread.start();//啟動狀態
state=thread.getState();//更新狀態
System.out.println(state);//RUN
while (state!=Thread.State.TERMINATED){//TERMINATED執行緒終止死亡
Thread.sleep(100);
state=thread.getState();//更新狀態
System.out.println(state);//輸出狀態
}
// thread.start();//死亡執行緒不能呼叫

}
}