LongAdder解析
对LongAdder
的最初了解是从Coolshell上的一篇文章中获得的,但是一直都没有深入的了解过其实现,只知道它相较于AtomicLong
来说,更加适合写多读少的并发情景。今天,我们就研究一下LongAdder
的原理,探究一下它如此高效的原因。
基本原理和思想
Java有很多并发控制机制,比如说以AQS为基础的锁或者以CAS为原理的自旋锁。不了解AQS的朋友可以阅读我之前的AQS源码解析文章。一般来说,CAS适合轻量级的并发操作,也就是并发量并不多,而且等待时间不长的情况,否则就应该使用普通锁,进入阻塞状态,避免CPU空转。
所以,如果你有一个Long类型的值会被多线程修改,那么使用CAS进行并发控制比较好,但是如果你是需要锁住一些资源,然后进行数据库操作,那么还是使用阻塞锁比较好。
第一种情况下,我们一般都使用AtomicL
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java数据结构
Java数据结构中常用的数据结构包含如下8种: 1:数组(Array) 2:栈(Stack) 3:队列(Queue) 4:链表(LinkedList) 5:树(Tree) 6:哈希表(Hash) 7:堆(Heap) 8:图(Graph) 这几个搞定对后期的发展非常有帮助,在此我用图给大家展示一下: 在此我也翻阅了很多的书籍查找了很多的资料,这几种数据结构的优缺点对比表,我感觉非常不错,在此奉献给大家: 希望对大家有所帮助,为了在以后的工作中写出大神之作,我工作之余经常研究数据结构和常用算法,希望在工作中能正确合理利用数据结构和常用算法来提高程序性能,学习有时候偶尔也会感觉枯燥,但是我会经常阿Q一下。
- 下一篇
Cloud Toolkit Contributors 贡献榜
想了解更多热门开发者工具 Cloud Toolkit,请点击链接了解详情:http://tb.cn/W6MjVGw Cloud Toolkit Contributors奖励机制: 为感谢所有为 Cloud Toolkit 发展做出贡献的开发者,特推出此奖励机制,您的任何建议或热心解答都会以贡献分值累计并予以公布。 贡献类别包括但不限于以下形式:1)在钉钉或微信交流群里热心答疑;2)提出新特性需求,并被采纳;3)提出优化和改进建议,并被采纳;4)上报 Bug,并被采纳等。 该计划从 2019 年 1 月 15 日正式开展以来,我们统计了各个渠道的开发者贡献,排名如下: 近2周加分明细表详见下表: 备注: 对于答疑解惑的难度,需求、改进建议和 Bug 的价值大小,分为 1-5 分不等。答疑根据对同一个问题的回答内容,酌情积1~2分,2分封顶/每次。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G