阻塞队列简介及其实现原理说明
下文笔者讲述阻塞队列的简介说明及其原理说明,如下所示
阻塞队列简介
阻塞队列(BlockingQueue):
是一个支持两个附加操作的队列
在队列为空时,获取元素的线程会等待队列变为非空
当队列满时,存储元素的线程会等待队列可用
阻塞队列适用场景:
1.阻塞队列适用于生产者和消费者的场景
生产者是往队列里添加元素的线程
消费者是从队列里拿元素的线程
阻塞队列就是生产者存放元素,消费者从容器里拿元素的容器
2.socket客户端数据的读取和解析
读取数据的线程不断将数据放入队列
然后解析线程不断从队列取数据解析
JDK中常见的阻塞队列
ArrayBlockingQueue:
一个由数组结构组成的有界阻塞队列。
LinkedBlockingQueue:
一个由链表结构组成的有界阻塞队列。
PriorityBlockingQueue:
一个支持优先级排序的无界阻塞队列。
DelayQueue:
一个使用优先级队列实现的无界阻塞队列。
SynchronousQueue:
一个不存储元素的阻塞队列。
LinkedTransferQueue:
一个由链表结构组成的无界阻塞队列。
LinkedBlockingDeque:
一个由链表结构组成的双向阻塞队列
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


