新建状态:当我们使用new去创建线程对象的时候。
就绪状态:当我们调用start方法后,线程就有了获得CUP执行权的资格
运行状态:当线程获得CPU的使用权后就进入了运行状态。
注意:就绪状态与运行状态是可以相互转换的,当线程获得CPU使用权就进入运行状态
失去CPU使用权后重新回到就绪状态,等待CPU切到当前线程。
阻塞状态:在运行时期的线程调用了sleep方法或者在等待同步锁的时候就进入了阻塞状态。
当获取到同步锁,或者sleep时间到了的时候则又进入了就绪状态。
死亡状态:当run方法执行完毕或者发生了异常后,线程进入死亡状态。