LinkedBlockingDeque
1. 前言
- 双向链表实现的双向并发阻塞队列,可同时在队列的头和尾进行插入/删除操作
- 默认大小Integer.MAX_VALUE,可设置容量,防止过度膨胀
- 线程安全
2. 源码分析
2.1 数据结构
1 | public class LinkedBlockingDeque<E> |
UML类图:
2.2 核心函数
- 构造函数
1 | public LinkedBlockingDeque() { |
- 添加元素
1 | //添加到队列尾部 |
- 取出元素: take()
1 | public E take() throws InterruptedException { |
- iterator()
提供两种遍历方式:正向遍历和反向遍历
1 | /** Forward iterator */ |