===============
== ffff65535 ==
===============
十六个一[1111111111111111]

观测线程状态

thread

线程状态

  • NEW
  • 尚未启动的线程处于此状态
  • RUNNABLE
  • 在java虚拟机中执行的线程处于此状态
  • BLOCKED
  • 被阻塞等待监听器锁定的线程处于此状态
  • WAITING
  • 正在等待另一个线程执行特定动作的线程处于此状态
  • TIMED_WAITING
  • 正在等待另一个线程执行动作到达指定等待时间的线程处于此状态
  • TERMINATED
  • 已退出的线程处于此状态
public enum State {
    NEW,
    RUNNABLE,
    BLOCKED,
    WAITING,
    TIMED_WAITING,
    TERMINATED;
}
/**
 *观察测试线程的状态
*/
public class TestThreadState {
    public static void main(String[] args) {
        Thread thread = new Thread(() -> {
            for (int i = 0; i < 10; i++) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println("////////");
            }
        }, "观测线程");
        // 观察状态 NEW
        System.out.println(thread.getState());

        // 观察启动后
        thread.start();
        // RUNNABLE
        System.out.println(thread.getState());

        // 线程不终止一直输出状态
        while (thread.getState() != Thread.State.TERMINATED) {
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            // TIMED_WAITING
            System.out.println(thread.getState());
        }
        //TERMINATED
        System.out.println(thread.getState());
    }
}

参考资料:

https://www.bilibili.com/video/BV1V4411p7EF?p=15