线程的5种状态
大体说一下线程的5种状态:新建、就绪、运行、阻塞、死亡。
新建状态(new): 线程刚刚创建,最初始的状态。
就绪状态(runnable): 线程创建完成后,并且运行的时机已经成熟,确定要执行了,但是还没执行。(没有分配到cpu)
运行状态(running): 线程真真正正的获得了cpu,然后执行相应的操作。(带啊跑起来了)
阻塞状态(blocked): 线程跑到一半,由于外界发生的变化,在运行到某个地方然后停住不运行了。(由于外界或自己的原因,交出了cpu,但是和就绪不同,这个时候线程可以运行的条件并不满足,所以连就绪都不是,而是一直挂起没有任何操作。)
死亡状态(dead): 线程已经完成了自己的使命,真正的结束了,并且不再会有该线程。
以下为线程5种状态之间的转换关系图。线程状态必须严格按照以下有向图所标示的这样来转换。
还有不懂的地方请留言~