浅析Java中的阻塞
来源:互联网 发布:淘宝新开店铺卖什么好 编辑:程序博客网 时间:2024/06/05 02:41
所谓的阻塞,就是线程能够运行,但是某个条件阻止它的运行,当线程处于阻塞状态时,调度器将忽略线程,不会分配给线程任何CPU时间,直到线程重新进入就绪状态,它才有可能执行操作。
所谓的就绪,就是可运行也可不运行,只要调度器分配时间片给线程,线程就可以运行,因为我们都知道,调度器是如何分配线程,是不确定的。
为什么任务会进入阻塞的状态,一般有以下几个原因:
1.通过调用sleep(milliseconds)使任务进入休眠状态,在这种情况下,任务在指定的时间内不会运行;
2.通过调用wait()使线程挂起,直到线程得到了notify()或notifyAll()消息(或者java SE5的java.util.concurrent类库中等价的signal()或signalAll()),线程才会进入就绪状态;
3.任务在等到某个输入或输出完成;
4.任务试图在某个对象上调用其同步控制方法。
所谓的就绪,就是可运行也可不运行,只要调度器分配时间片给线程,线程就可以运行,因为我们都知道,调度器是如何分配线程,是不确定的。
为什么任务会进入阻塞的状态,一般有以下几个原因:
1.通过调用sleep(milliseconds)使任务进入休眠状态,在这种情况下,任务在指定的时间内不会运行;
2.通过调用wait()使线程挂起,直到线程得到了notify()或notifyAll()消息(或者java SE5的java.util.concurrent类库中等价的signal()或signalAll()),线程才会进入就绪状态;
3.任务在等到某个输入或输出完成;
4.任务试图在某个对象上调用其同步控制方法。
0 0
- 浅析Java中的阻塞
- Java中的阻塞队列
- Java中的阻塞队列
- Java中的阻塞队列
- java中的阻塞队列
- JAVA中的阻塞队列
- Java中的阻塞队列
- Java中的阻塞队列
- Java中的阻塞队列
- Java中的阻塞队列
- Java中的阻塞队列
- java中的阻塞线程
- Java中的阻塞队列
- java中的阻塞队列
- Java中的阻塞队列
- Java中的阻塞队列
- Java中的阻塞队列
- Java中的阻塞队列
- 耻辱的时间戳(笑哭)
- Java面试题全集(上)
- 功能介绍与使用说明
- Codeforces Round #357 (Div. 2)-D. Gifts by the List
- Scrum敏捷项目管理
- 浅析Java中的阻塞
- 安卓自定义容器控件,装载TextView,实现文字竖直轮播小喇叭广告条
- gradle的简单介绍
- shell 语句
- WebElement.getText()为空解决方法
- mount:No medium found
- [c语言] 模拟实现c语言库函数atoi
- Meme App with UIKit
- 继承与派生——两个程序的比较