📌  相关文章
📜  Java中的 LongAdder reset() 方法及示例(1)

📅  最后修改于: 2023-12-03 14:42:49.616000             🧑  作者: Mango

Java中的 LongAdder reset() 方法及示例

LongAdder

在Java 8中,Java.util.concurrent中引入了LongAdder类。在高并发环境中,LongAdder是原子累加器的高效并发实现(可以理解为ConcurrentHashMap与AtomicLong的混合)。

它通过在内部维护一个当前总和和多个本地总和(以线程为基础),从而避免了单点争用的问题,提高了并发度,并提供了一些特殊操作以进行高度并发计数。

reset()方法

reset()方法用于将该LongAdder实例的当前值重置为零。

示例

下面是reset()方法的示例使用:

import java.util.concurrent.atomic.LongAdder;

public class LongAdderDemo {
    
    public static void main(String[] args) {
        LongAdder longAdder = new LongAdder();
        longAdder.add(10);
        longAdder.add(20);
        System.out.println("当前值:" + longAdder.sum());
        longAdder.reset();
        System.out.println("重置后的值:" + longAdder.sum());
    }
}

输出结果:

当前值:30
重置后的值:0
总结

通过使用LongAdder类,我们可以在高并发的环境下进行原子操作的高效计数,并使用reset()方法来重置当前值。尽管在单线程中性能可能不如AtomicLong,但在高并发环境中它是更好的选择。