作者:xsf9507 | 来源:互联网 | 2023-10-15 15:18
就绪状态:线程对象创建后,其他线程调用了该对象的start(方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。阻塞状态:阻塞状态是线程因为某种原因放弃CPU
一、转换图示如下:
二、转换说明线程状态类型新建状态(New ) :创建了一个新线程对象。
就绪状态(Runnable ) :创建线程对象时,其他线程将调用该对象的start ) )方法。 处于此状态的线程位于可执行线程池中,可以执行,等待获取CPU使用权。
执行状态(Running ) :准备完毕状态的线程获取CPU,执行程序代码。
阻塞状态(Blocked ) :阻塞状态是指线程由于某种原因放弃CPU使用权,暂时停止的状态。 在线程进入就绪状态之前,没有机会进入运行状态。 屏蔽的情况可以分为(一)、等待屏蔽三部分。 正在运行的线程是wait ) )方法,JVM将该线程放入等待池中。 (二)同步阻塞)执行中的线程获取对象的同步锁时,如果该同步锁被其他线程占用,JVM会将该线程放入锁池。 (三)、其他阻塞)当正在运行的线程执行sleep ()或join ()方法或发出I/O请求时,JVM会阻塞该线程。 当sleep (状态超时,join ) )等待线程完成或超时,或者I/O操作完成时,线程将返回就绪状态。
由于转移(Dead )线程已完成运行或运行(run ) )方法异常终止,线程将终止生命周期。