阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和溢出方法。
支持阻塞的插入方法:当队列满时,队列会阻塞插入元素的过程,直到队列不满。
支持阻塞的移除方法:当队列空时,获取元素的线程会等待队列变为非空。
常用于生产者-消费者场景。
7个阻塞队列:
ArrayBlockingQueue(数组结构组成的有界阻塞队列)、
LinkedBlockingQueue(链表结构组成的有界阻塞队列)、
PriorityBlockingQueue(支持优先级排序的无界阻塞队列)、
DelayQueue(使用优先级队列实现的无界阻塞队列)、
SynchronousQueue(不存储元素的的阻塞队列)、
LinkedTransferQueue(链表结构组成的无界阻塞队列)、
LinkedBlockingDeque(链表结构组成的双向阻塞队列)