以下哪些属于java线程的状态,线程的状态有几种
在java线程的运行周期中,有以下几种状态:
1、NEW
这种状态意味着线程刚刚被创建,还没有被启动。
2、RUNNABLE
这意味着线程运行正常。当然可能会有一些耗时的计算/IO等待操作/CPU时间片切换等。这种状态下等待的一般是其他系统资源,而不是锁、睡眠等。
(视频教程推荐:java视频)
3、BLOCKED
在这种状态下,就是多个线程有同步操作的场景,比如等待另一个线程的synchronized块的执行释放,或者别人在一个可重入的synchronized块中调用wait()方法,这就意味着线程在这里等待进入临界区。
4、WAITING
在这种状态下,线程拥有锁后,调用其wait方法,等待其他线程/锁拥有者再次调用notify/notifyAll,这样线程就可以继续下一步操作。
区分被屏蔽和看的区别,一个是在临界点外等待,一个是在理解点内等待别人通知。当一个线程调用join方法加入另一个线程时,也会进入等待状态,等待他加入的线程执行完毕。
5、TIMED_WAITING
这种状态就是受限(限时)等待,通常发生在waiting (long)和join(long)被调用的时候。在另一个线程睡眠后,它也将进入TIMED_WAITING状态。
6、TERMINATED
在这种状态下,线程的run方法已经被执行,基本等同于死亡(当时如果线程被持久化,可能无法回收)。
推荐教程:java入门程序以上是java线程几种状态的详细介绍,更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。