阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和溢出方法。

支持阻塞的插入方法:当队列满时,队列会阻塞插入元素的过程,直到队列不满。

支持阻塞的移除方法:当队列空时,获取元素的线程会等待队列变为非空。

常用于生产者-消费者场景。

7个阻塞队列:

ArrayBlockingQueue(数组结构组成的有界阻塞队列)、

LinkedBlockingQueue(链表结构组成的有界阻塞队列)、

PriorityBlockingQueue(支持优先级排序的无界阻塞队列)、

DelayQueue(使用优先级队列实现的无界阻塞队列)、

SynchronousQueue(不存储元素的的阻塞队列)、

LinkedTransferQueue(链表结构组成的无界阻塞队列)、

LinkedBlockingDeque(链表结构组成的双向阻塞队列)

posted on 2017-12-12 21:54  飞奔的菜鸟  阅读(1142)  评论(0编辑  收藏  举报