您的位置:首页 > 编程语言 > Java开发

java线程进入阻塞的条件

2017-02-17 00:00 351 查看
什么是阻塞?线程能够运行,但是某个条件阻止它的运行,进入阻塞状态的线程调度器不会给他分配CPU时间片,直到他再次进入就绪状态的时候才可以。

1.等待输入或者输出完成

2.线程自身调用了wait

3.线程自身调用了sleep

4.任务在调用了某个对象上的同步方法,但是锁被其他任务获取了。

其实总结起来就是一个是自己把自己打晕,另一个是别人把自己打晕。对于自残的这种就是一个调用wait,一个调用sleep,他们的区别是调用sleep不会让出cpu的时间片,而调用wait会让出cpu时间片。

后者则是,等待外界的输入或者输出到外界的完成,或者是友军不给力,没有把锁给让出来。

我的个人博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 阻塞