LinkedBlockingQueue
LinkedBlockingQueue是一个单向链表实现的阻塞队列。该队列按 FIFO(先进先出)排序元素,新元素插入到队列的尾部,并且队列获取操作会获得位于队列头部的元素。LinkedBlockingQueue还是可选容量的(防止过度膨胀),即可以指定队列的容量。如果不指定,默认容量大小等于Integer.MAX_VALUE。
数据结构
常用方法
一、添加元素
1、add 方法:如果队列已满,报java.lang.IllegalStateException: Queue full 错误
2、offer 方法:如果队列已满,程序正常运行,只是不再新增元素
3、put 方法:如果队列已满,阻塞
二、取元素
1、poll 方法:弹出队顶元素,队列为空时返回null
2、peek 方法:返回队列顶元素,但顶元素不弹出,队列为空时返回null
3、take 方法:当队列为空,阻塞