阻塞队列是生产者消费者模式的实现具体组件之一。当阻塞队列为空时,从队列中获取元素的操作将会被阻塞,当阻塞队列满了,往队列添加元素的操作将会被阻塞。具体实现有:
1)ArrayBlockingQueue:底层是由数组组成的有界阻塞队列。
2)LinkedBlockingQueue:底层是由链表组成的有界阻塞队列。
3)PriorityBlockingQueue:阻塞优先队列。
4)DelayQueue:创建元素时可以指定多久才能从队列中获取当前元素
5)SynchronousQueue:不存储元素的阻塞队列,每一个存储必须等待一个取出操作
6)LinkedTransferQueue:与LinkedBlockingQueue相比多一个transfer方法,即如果当前有消费者正等待接收元素,可以把生产者传入的元素立刻传输给消费者。
7)LinkedBlockingDeque:双向阻塞队列。