请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

线程状态装换图中进入阻塞的条件怎么理解?

老师,你好。8.10节中1分32秒的线程状态的图中的进入阻塞状态的条件是不是有问题,之前在8.5节的时候说进入阻塞状态是因为进入同步代码块,这张图里的条件是等待用户输入或者Thread.sleep。这怎么理解?

正在回答

1回答

同学好,线程在等待锁释放或者在没执行完放弃CPU时间片等待下次执行的时候,都会进入阻塞状态。

阻塞的情况分三种:
    (01) 等待阻塞 -- 通过调用线程的wait()方法,让线程等待某工作的完成。
    (02) 同步阻塞 -- 线程在获取synchronized同步锁失败(因为锁被其它线程所占用),它会进入同步阻塞状态。
    (03) 其他阻塞 -- 通过调用线程的sleep()或join()或发出了I/O请求时,线程会进入到阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。

0 回复 有任何疑惑可以回复我~
  • 提问者 nightji #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-02-16 11:16:26
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信