Java 并发系列之七:java 阻塞队列(7个)
1. 前言
JDK5并发包concurrent加入了阻塞队列(BlockingQueue)
阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法 ;
1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满;
2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空;
阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程;
2. 基本概念
3. 具体实现
3.1 ArrayBlockingQueue
3.2 LinkedBlockingQueue
3.3 PriorityBlockingDeque
3.4 PriorityBlockingQueue
PriorityBlockingQueue是具有优先级的阻塞式队列,容量不指定时默认为11,