AtomicLong和LongAdder的区别
Posted genggeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AtomicLong和LongAdder的区别相关的知识,希望对你有一定的参考价值。
AtomicLong的原理是依靠底层的cas来保障原子性的更新数据,在要添加或者减少的时候,会使用死循环不断地cas到特定的值,从而达到更新数据的目的。
LongAdder在AtomicLong的基础上将单点的更新压力分散到各个节点,在低并发的时候通过对base的直接更新可以很好的保障和AtomicLong的性能基本保持一致,而在高并发的时候通过分散提高了性能。
缺点是LongAdder在统计的时候如果有并发更新,可能导致统计的数据有误差。
不少框架里面使用到了LongAdder这个类,而并非AtomicLong
参考https://blog.csdn.net/yao123long/article/details/63683991
以上是关于AtomicLong和LongAdder的区别的主要内容,如果未能解决你的问题,请参考以下文章