LongAdder对象,比 AtomicLong 性能更好,为什么?

提问者:帅平 问题分类:面试刷题
LongAdder对象,比 AtomicLong 性能更好,为什么?
1 个回答
我是蓝天
我是蓝天
AtomicLong做累加的时候实际上就是多个线程操作同一个目标资源。在高并发时,只有一个线程是执行成功的,其他的线程都会失败,不断自旋(重试),自旋会成为瓶颈。而LongAdder的思想就是把要操作的目标资源「分散」到数组Cell中。每个线程对自己的 Cell 变量的 value 进行原子操作,大大降低了失败的次数。这就是为什么在高并发场景下,推荐使用LongAdder 的原因
发布于:1年前 (2023-03-16) IP属地:四川省
我来回答