首页 > 编程语言 > 详细

线程阻塞的三大原因

时间:2020-03-17 17:11:32      阅读:72      评论:0      收藏:0      [点我收藏+]

线程阻塞的原因,有三大类:

 1.获取锁,得不到,就进入到等待锁的阻塞队列。

      只有占有锁的线程,释放锁时,才会唤醒这个队列中的线程。

      notify不会唤醒该队列中的线程

   2.正在占用锁的线程,调用了wait,就进入wait阻塞嘟咧。

      只有obj.notify()方法,才会唤醒这个队列中的线程。

      一般的释放锁,无法唤醒该队列中的线程。

  3.正在执行中的线程,调用了sleep()、join()或者IO,就进入了另一个阻塞队列。

      睡眠时间到,或者IO阻塞结束,线程才能得以继续进入可运行状态。

技术分享图片

 

线程阻塞的三大原因

原文:https://www.cnblogs.com/smallVampire/p/12511842.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!