- 它是一个适用于高并发场景下的队列,通过无锁的方式,实现了高并发下的高性能,通常ConcurrentLinkedQueue性能好于BlockingQueue,它是一个基于连接节点的无界线程安全队列,该队列元素遵循先进先出的原则,头最先加入,尾最近加入,不允许有空元素。
- ConcurrentLinkedQueue重要方法
- Add()和offer()都是添加的方法。
- Poll()和peek()都是取元素的方法,区别在与前者会删除元素,后者不会。
- public class UseQueue {
- public static void main(String[] args) throws Exception {
- //高性能无阻塞无界队列:ConcurrentLinkedQueue
- ConcurrentLinkedQueue<String> q = new ConcurrentLinkedQueue<String>();
- q.offer("a");
- q.offer("b");
- q.offer("c");
- q.offer("d");
- q.add("e");
- System.out.println(q.size());
- System.out.println(q.poll()); //a 从头部取出元素,并从队列里删除
- System.out.println(q.size()); //4
- System.out.println(q.peek()); //b
- System.out.println(q.size()); //4
- }
- }
- 输出结果:
- 5
- a
- 4
- b
- 4
9.ConcurrentLinkedQueue
最新推荐文章于 2025-05-21 14:12:53 发布