Java线程的五种状态详解

状态转换图

1.new状态:通过new关键字创建了Thread或其子类的对象

2.Runnable状态:即就绪状态。可从三种状态到达,new状态的Thread对象调用start()方法,Running状态的线程时间片用完,或者Blocked状态的线程被唤醒。

3.Running状态:正在执行的状态,即获取了CPU的Runnable线程。

4.Blocked状态:阻塞状态。造成线程阻塞的情况有如下几种:执行wait()方法,等待对象锁,sleep()或join()方法,及等待用户输入等。

5.Dead状态:线程的run()方法执行完或者由于异常退出run()方法后,进入Dead状态。

原文地址:https://www.cnblogs.com/YLsY/p/5783763.html