当前位置: 代码迷 >> 综合 >> Java 阻塞队列
  详细解决方案

Java 阻塞队列

热度:22   发布时间:2024-01-24 15:39:48.0

1、阻塞队列

 

方法/处理方式 抛出异常 返回特殊值 一直阻塞 超时退出
插入方法 add(e) offer(e) put(e) offer(e, time, unit)
移除方法 remove(e) poll() take() poll(time, unit)
检查方法 element() peek() 不可以 不可以

2、示例代码

public class BlockQueue {public static void main(String[] args) {/*** 数组结构组成的有界阻塞队列*/ArrayBlockingQueue<Integer> arrayBlockingQueue = new ArrayBlockingQueue<>(5);/*** 链表结构组成的有界阻塞队列*/LinkedBlockingQueue<Integer> linkedBlockingQueue = new LinkedBlockingQueue<>();/*** 支持优先级排序的有界阻塞队列*/PriorityBlockingQueue<Integer> priorityBlockingQueue = new PriorityBlockingQueue<>();/*** 使用优先级队列实现的无界阻塞队列*/DelayQueue delayQueue = new DelayQueue<>();/*** 不存储元素的阻塞队列*/SynchronousQueue<Integer> synchronizedQueue = new SynchronousQueue<>();/*** 链表结构组成的无界阻塞队列*/LinkedTransferQueue<Integer> linkedTransferQueue = new LinkedTransferQueue<>();/*** 链表结构组成的双向阻塞队列*/LinkedBlockingDeque<Integer> linkedBlockingDeque = new LinkedBlockingDeque<>();}}