(1)线程的生命周期共有六种状态

1)NEW:new一个线程。

2)RUNNABLE:执行start方法进入可运行状态,等待分配时间片。

3)BLOCKED:阻塞状态(例如:同步锁被其他线程持有)

4)WAITING:等待状态(例如:执行wait/slee/join/...之后)

5)TIMED_WAITING:超时等待(例如:执行wait(2000)/sleep(2000)/join(2000)/...之后)

6)TERMINATED:线程执行结束

(2)下面是jdk8中Thread类中源码的部分内容:

    public static enum State {
        NEW,
        RUNNABLE,
        BLOCKED,
        WAITING,
        TIMED_WAITING,
        TERMINATED;

        private State() {
        }
    }

(3)六种状态的转换图

 

posted on 2019-10-20 22:40  song.yan  阅读(1864)  评论(0编辑  收藏  举报