概述
线程可以通过notify
,join
,LockSupport.park
方式进入wating
状态,进入wating状态的线程等待唤醒(notify或notifyAll)才有机会获取cpu的时间片段来继续执行。
线程的 blocked
状态往往是无法进入同步方法/代码块来完成的。这是因为无法获取到与同步方法/代码块相关联的锁。
与wating状态相关联的是等待队列,与blocked状态相关的是同步队列,一个线程由等待队列迁移到同步队列时,线程状态将会由wating
转化为blocked
。可以这样说,blocked
状态是处于wating
状态的线程重新焕发生命力的必由之路。
作者:high_m
链接:https://www.jianshu.com/p/da90ab7bc79b
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
最后
以上就是无辜向日葵为你收集整理的线程状态,BLOCKED和WAITING有什么区别的全部内容,希望文章能够帮你解决线程状态,BLOCKED和WAITING有什么区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复