阻塞队列
2013-07-18 21:46
99 查看
阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列,下图展示了如何通过阻塞队列来合作:
线程1往阻塞队列中添加元素,而线程2从阻塞队列中移除元素
从5.0开始,JDK在java.util.concurrent包里提供了阻塞队列的官方实现。尽管JDK中已经包含了阻塞队列的官方实现,但是熟悉其背后的原理还是很有帮助的。
线程1往阻塞队列中添加元素,而线程2从阻塞队列中移除元素
从5.0开始,JDK在java.util.concurrent包里提供了阻塞队列的官方实现。尽管JDK中已经包含了阻塞队列的官方实现,但是熟悉其背后的原理还是很有帮助的。
相关文章推荐
- 阻塞队列使用---ArrayBlockingQueue
- 并发队列-无界阻塞优先级队列
- 学习阻塞队列BlockingQueue
- 并发队列ConcurrentLinkedQueue与阻塞队列LinkedBlockingQueue的区别
- [Effective JavaScript 笔记]第65条:不要在计算时阻塞事件队列
- java-并发集合-阻塞队列 LinkedBlockingQueue 演示
- 阻塞队列使用---ArrayBlockingQueue
- 并发编程(7)-阻塞队列
- JAVA可阻塞队列-ArrayBlockingQueue
- 从头认识java-17.5 阻塞队列(以生产者消费者模式为例)
- 多线程原理-II 阻塞队列
- JAVA中的阻塞队列
- java阻塞队列
- 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue
- 阻塞队列
- Java中的阻塞队列
- 【死磕Java并发】-----J.U.C之阻塞队列:ArrayBlockingQueue
- BlockingQueue-线程的阻塞队列
- 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
- Java并发编程(十一):阻塞队列(转载)