阻塞队列接口是Java.util.concurrent包的一部分。阻塞队列是专门为生产者使用者队列设计的,还支持收集。该接口分为方法的四个部分,以支持可以在队列上执行的所有类型的操作。它不接受空键。ArrayBlockingQueue和LinkedBlockingQueue都实现了Blocking队列接口
ArrayBlockingQueue和LinkedBlockingQueue都以FIFO顺序存储元素。在两个队列中,元素的插入总是发生在队列的尾部,元素的去除总是从队列的开头发生。
序号 | 键 | ArrayBlockingQueue | LinkedBlockingQueue |
---|---|---|---|
1 | 基本的 | 它由数组支持 | 它由链接列表支持 |
2 | 有界 | 它是有界数组队列。因此,一旦创建,容量将无法更改 | 它是无限队列 |
3 | 通量 | 它的吞吐量比链接队列队列低 | 链接队列比基于阵列的队列具有更高的吞吐量 |
4。 | 锁 | 它使用单锁双条件算法 | 它具有putLock用于在队列中插入元素,以及takeLock用于从队列中删除元素 |