LongAdder(java.util.concurrent.atomic)
·
LongAdder 是 Java 8 引入的一个高性能的原子累加器,位于 java.util.concurrent.atomic 包下,专门用于解决高并发场景下的计数器性能问题。它比传统的 AtomicLong 在高并发时具有更高的吞吐量。
AtomicLong 存在一个性能瓶颈:所有线程会竞争同一个变量的 CAS 操作。在高并发场景下,大量线程会因为 CAS 失败而重试,导致 CPU 资源浪费和性能下降。
LongAdder 通过分散热点的设计解决了这个问题:
- 内部维护一组 “累加单元”(cells),每个线程可以优先操作自己的单元
- 最终结果是所有单元的值之和
- 当竞争激烈时,会动态扩容单元数量,进一步分散竞争
更多推荐


所有评论(0)