问问题描述
阻塞状态与等待状态有什么不同,求高手给解答
答精选答案

阻塞状态与等待状态的区别:实际上两者不用刻意区分两者,因为两者都会暂停线程的执行。
两者的区别是:进入等待状态是线程主动的,而进入阻塞状态是被动的。更进一步的说,进入阻塞状态是在同步, 而进入等待状态是在同步代码之内。两者的共同点是:都暂时停止线程的执行,线程本身不会占用CPU时间片。区别是调用了sleep方法的线程直接受CPU调度,而wait则是等待另外的java线程在持有同一个对象锁的同步块,方法中进行notify调用。
本文来自作者[秦腔网]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/huaxue/202609/722481.html
评论列表(4条)
我是公众科技网的签约作者“秦腔网”!
希望本篇文章《阻塞状态与等待状态有什么不同》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:阻塞状态与等待状态的区别:实际上两者不用刻意区分两者,因为两者都会暂停线程的执行。两者的区别是:进入等待状态是线程主动的,而进入阻塞状态是被动的。更进一步的说,进入阻塞状态是在同步, 而进入等待状态是在同步代码之内。两者的共同点是:都暂时停止线程的执行,线程本身不会占用CPU时间片。区别是调用了sleep方法的线程直接受CPU调度,而wait则是等待另外的java线程在持有同一个对象锁的同步块,方法中进行notify调用。