LongAccumulator类原理探究

LongAccumulator类原理探究

LongAdder类时LongAccumulator的一个特例,LongAccumulator比LongAdder的功能更强大。例如下面的构造函数,其中accumulatorFunction是一个双目运算器接口,其根据输入的两个参数返回一个计算值,identity则是LongAccumulator累加器的初始值。

1
2
3
4
5
6
7
8
9
10
11
public LongAccumulator(LongBinaryOperator accumulatorFunction,
long identity) {
this.function = accumulatorFunction;
base = this.identity = identity;
}

public interface LongBinaryOperator {

// 根据两个参数计算并返回一个值
long applyAsLong(long left, long right);
}
阅读更多