📅  最后修改于: 2023-12-03 15:01:55.126000             🧑  作者: Mango
在Java中,LongAdder
是一个用于高并发场景下的线程安全的累加器类。它提供了一种高效的方式来原子地增加一个long型的值,可以在并发环境中实现更好的性能。
LongAdder
类中的 increment()
方法用于将当前值增加 1。它是线程安全的,并且不会导致线程争用或者阻塞等性能损失。
public void increment()
下面我们通过一个示例来演示如何使用 LongAdder
的 increment()
方法。
import java.util.concurrent.atomic.LongAdder;
public class LongAdderExample {
public static void main(String[] args) {
LongAdder counter = new LongAdder();
// 创建10个并发线程进行累加操作
Thread[] threads = new Thread[10];
for (int i = 0; i < 10; i++) {
threads[i] = new Thread(() -> {
for (int j = 0; j < 1000; j++) {
counter.increment();
}
});
threads[i].start();
}
// 等待所有线程执行完毕
for (Thread thread : threads) {
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
// 打印最终累加结果
System.out.println("Final Count: " + counter.sum());
}
}
在上面的示例中,我们创建了一个 LongAdder
对象 counter
,然后创建了10个并发线程来进行累加操作。每个线程执行1000次的累加操作,最终打印出累加结果。
注意,我们使用了 Thread.join()
方法来等待所有线程执行完成。
在Markdown中,使用三个反引号(```)可以创建代码块。我们在示例中包含了代码块以及对应的语言标识符(language identifier)。
```java
// Java代码
在Markdown中,运行结果可以通过段落文本的方式进行展示。
Final Count: 10000
以上就是关于Java中的 LongAdder
的 increment()
方法的介绍以及示例代码。通过使用 LongAdder
,我们可以实现线程安全且高效的累加操作。