Thread.State 线程状态

Thread.State

/**
*线程状态
*/
public enum State {
        /**
         * 新建:  线程尚未启动状态
         */
        NEW,

        /**
         * 就绪: 线程正在JVM中执行
         *     正在等待其他资源:如cpu
         */
        RUNNABLE,

        /**
         * 阻塞:  线程阻塞在等待监视器锁
         *     等待监视器锁进入 synchronized 代码块/方法
      *    或者Object.wait后重新进入
*/ BLOCKED, /** * 等待:  等待状态,等待其他线程的特定操作 *       调用一下方法可以进入此状态 *       1.Object.wait() 不带有超时  等待:Object.notify/notifyAll *       2.Thread.jion() 不带超时   等待:等待特定的线程执行结束
      *       3.LocalSupport.park()     等待:unPark()
*/ WAITING, /** * 定时等待:  具有指定时间的等待状态 *         以下方法可以进入此状态: *         1.Thread.sleep *         2.Thread.join(long) *         3.Object.wait(long) *         4.LockSupport.parkNanos *         5.LockSupport.parkUntil */ TIMED_WAITING, /** * 终止:  线程已经执行完成 */ TERMINATED; }

线程的状态变化:

 

线程状态转换图:

 

 

posted @ 2019-07-07 17:23  gsanye  阅读(268)  评论(0编辑  收藏  举报