技术文章 > java >  java基础 > 正文

java ConcurrentLinkedQueue的用法整理

小妮浅浅

在我们理解了ConcurrentLinkedQueue的原理后,对于其列表中的增加和删除函数,即入队和出队的方法有了初步认识,那么在实际使用时,对于ConcurrentLinkedQueue的使用注意事项应该有所遵守。同时ConcurrentLinkedQueue的使用方法非常多,这里我们全部罗列出来,并就peek()方法实例带来介绍。

1.使用事项

1)ConcurrentLinkedQueue的迭代器是弱一致性的,这在并发容器中是比较普遍的现象,主要是指在一个线程在遍历队列结点而另一个线程尝试对某个队列结点进行修改的话不会抛出ConcurrentModificationException,这也就造成在遍历某个尚未被修改的结点时,在next方法返回时可以看到该结点的修改,但在遍历后再对该结点修改时就看不到这种变化。

2)使用了这个ConcurrentLinkedQueue 类之后,如果直接使用它提供的函数,比如:queue.add(obj); 或者 queue.poll(obj);,这样不需要做任何同步

2.ConcurrentLinkedQueue用法图解

 

3.peek()方法

获取但不移除此队列的头;如果此队列为空,则返回 null

public static void main(String[] args) {
 
        ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue();
 
        queue.offer("哈哈哈");
 
        System.out.println("offer后,队列是否空?" + queue.isEmpty());
 
        System.out.println("从队列中peek:" + queue.peek());
 
        System.out.println("从队列中peek:" + queue.peek());
 
        System.out.println("从队列中peek:" + queue.peek());
 
        System.out.println("pool后,队列是否空?" + queue.isEmpty());
 
    }

以上就是java中ConcurrentLinkedQueue的用法整理,这里我们只对peek()出队的方法做了详细介绍,如果还想了解更多ConcurrentLinkedQueue使用,可以根据需要按照上方的图解去寻找对应的方法资料。

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 java ConcurrentLinkedQueue是什么
 ConcurrentLinkedQueue在java的原理探究
 java中ConcurrentLinkedQueue的入队
 ConcurrentLinkedQueue在java出队分析
相关视频章节
 网络爬虫
 云端部署Web应用程序视频
 Web应用框架Flask和文件模板
 Web应用程序开发概述
 继承和多态
推荐视频
视频教程分类