线程状态观测
-
Thread.State
一个线程可以在给定时间点处于一个状态。这些状态是不反映任何操作系统线程状态的虚拟状态
package com.hua.demo; //观察测试线程的状态 public class TestState { public static void main(String[] args) { Thread thread = new Thread(()->{ for (int i = 0; i <5 ; i++) { 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){//只要线程不终止,就一直输出状态 try { Thread.sleep(1000); state = thread.getState();//更新线程状态 System.out.println(state);//输出线程状态 } catch (InterruptedException e) { e.printStackTrace(); } } } }