秒懂百科网

位置:首页 > 经验 > 

阻塞状态与等待状态有什么不同

经验2.85W

阻塞状态与等待状态有什么不同

阻塞状态与等待状态的区别:

实际上两者不用刻意区分两者,因为两者都会暂停线程的执行

两者的区别是:进入等待状态是线程主动的,而进入阻塞状态是被动的。更进一步的说,进入阻塞状态是在同步, 而进入等待状态是在同步代码之内。

两者的共同点是:

都暂时停止线程的执行,线程本身不会占用CPU时间片。

区别是调用了sleep方法的线程直接受CPU调度,而wait则是等待另外的java线程在持有同一个对象锁的同步块,方法中进行notify调用。

标签:阻塞状态 等待