📅  最后修改于: 2023-12-03 15:01:52.907000             🧑  作者: Mango
DoubleAccumulator
是 Java 8 中新增的原子类之一。它提供了一种累加器的实现,用于对 double 类型的值进行累加并在多线程环境下安全使用。DoubleAccumulator
类中的 floatValue()
方法返回当前累加器的值的浮点数表示。
public float floatValue()
返回当前累加器的值的浮点数表示。
import java.util.concurrent.atomic.DoubleAccumulator;
public class DoubleAccumulatorExample {
public static void main(String[] args) {
// 创建新的 DoubleAccumulator 对象,初始值为 0.0
DoubleAccumulator accumulator = new DoubleAccumulator(Double::sum, 0.0);
// 在多个线程中对累加器进行累加
new Thread(() -> accumulator.accumulate(0.1)).start();
new Thread(() -> accumulator.accumulate(0.2)).start();
new Thread(() -> accumulator.accumulate(0.3)).start();
// 等待累加线程执行完毕
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 输出累加器的值的浮点数表示
System.out.println(accumulator.floatValue());
}
}
运行结果为:
0.6
在上面的示例中,我们创建了一个新的 DoubleAccumulator
对象,初始值为 0.0
。然后我们在三个不同的线程中分别对累加器进行累加操作。最后,我们在主线程中输出了累加器的值的浮点数表示,得到的结果是 0.6
。