博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java LinkedBlockingQueue和ConcurrentLinkedQueue的区别
阅读量:7080 次
发布时间:2019-06-28

本文共 384 字,大约阅读时间需要 1 分钟。

实现上看,两者都继承于AbstractQueue,但是ConcurrentLinkedQueue实现了Queue,而LinkedBlockingQueue实现了BlockingQueue,BlockingQueue又继承于Queue,增加了几个额外的阻塞方法,而在ConcurrentLinkedQueue中,并没有阻塞方法。所以从功能上ConcurrentLinkedQueue能做的,LinkedBlockingQueue都能做到,反之不然。

就特性而言,ConcurrentLinkedQueue是线程安全的,也就是遍历的时候不会出现java.util.ConcurrentModificationException(弱一致性),但是性能会有所影响,实际还是看有没有可能有线程会做遍历操作,如果不做遍历的话,LinkedBlockingQueue应该会更加合理。

转载地址:http://qvpml.baihongyu.com/

你可能感兴趣的文章
第5条:避免创建不必要的对象
查看>>
单元测试利器Mockito框架
查看>>
java反射
查看>>
有赞业务对账平台的探索与实践
查看>>
leetcode讲解--824. Goat Latin
查看>>
深入解析Node.js中的Async和Await函数
查看>>
Ubuntu 下如何安装与卸载软件 ( 一 :GUI版)
查看>>
07_01_定义加载器(Webpack Book)
查看>>
Let's encrypt 通配域名DNS验证方式的证书自动更新
查看>>
PHP 框架学习(二):Laravel
查看>>
总结常见的违背Rest原则的接口设计做法
查看>>
JAVASCRIPT中THIS指的是什么?
查看>>
LLVM3.8停止了旧Windows版本,取消Autoconf,改进Clang
查看>>
DevOps实战:Graphite监控上手指南
查看>>
SSPL的MongoDB再被抛弃,GUN Health也合流PostgreSQL
查看>>
知乎pure render专栏创办人@流形:选择React这条路,很庆幸
查看>>
修复.NET的HttpClient
查看>>
调查:Android的领先地位稳固
查看>>
在Maven项目中使用JUnit进行单元测试
查看>>
Docker发布应用程序指南
查看>>