Java 并发系列之七:java 阻塞队列(7个)

1. 前言

 JDK5并发包concurrent加入了阻塞队列(BlockingQueue)

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

 1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满;

 2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空;

 阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程;

 

2. 基本概念

Java 并发系列之七:java 阻塞队列(7个)_第1张图片

3. 具体实现

3.1 ArrayBlockingQueue

 Java 并发系列之七:java 阻塞队列(7个)_第2张图片

3.2  LinkedBlockingQueue

3.3 PriorityBlockingDeque

Java 并发系列之七:java 阻塞队列(7个)_第3张图片

3.4 PriorityBlockingQueue

 PriorityBlockingQueue是具有优先级的阻塞式队列,容量不指定时默认为11, 

参考连接

https://www.cnblogs.com/haimishasha/p/11198465.html

你可能感兴趣的:(Java 并发系列之七:java 阻塞队列(7个))