public class LongAdder extends Number implements Serializable
long总和。当更新(方法
add(long))主张跨线程、变量的设置可以动态增长以减少争用。方法
sum()(或者,等价地,
longValue())返回当前的总变量之间保持的总和。
这类通常是最好的AtomicLong当多个线程共同更新和用于用途,如收集统计,不为细粒度的同步控制。在低更新争用下,两个类具有相似的特征。但在高争用,预计这一类的吞吐量显着更高,在更高的空间消耗的费用。
longadders可与ConcurrentHashMap保持可伸缩频率图(一种直方图或multiset)。例如,添加一个算一ConcurrentHashMap<String,LongAdder> freqs,初始化不存在的话,你可以使用freqs.computeIfAbsent(k -> new LongAdder()).increment();
这类Number延伸,但不定义方法如equals,hashCode和compareTo因为情况预计将发生突变,而不是用作收集钥匙。
| Constructor and Description |
|---|
LongAdder()
创建一个新的加法器,初始和为零。
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(long x)
添加给定值。
|
void |
decrement()
相当于
add(-1)。
|
double |
doubleValue()
为扩大基本转换后的
double返回
sum()。
|
float |
floatValue()
为扩大基本转换后的
float返回
sum()。
|
void |
increment()
相当于
add(1)。
|
int |
intValue()
作为一个窄化转换后,
int返回
sum()。
|
long |
longValue()
相当于
sum()。
|
void |
reset()
重置变量保持总和为零。
|
long |
sum()
返回当前的和。
|
long |
sumThenReset()
|
String |
toString()
返回的字符串表示形式的
sum()。
|
byteValue, shortValuepublic void add(long x)
x -价值增加
public void increment()
add(1)。
public void decrement()
add(-1)。
public long sum()
public void reset()
public long sumThenReset()
public int intValue()
int返回
sum()。
public float floatValue()
float返回
sum()。
floatValue 方法重写,继承类
Number
float后。
public double doubleValue()
double返回
sum()。
doubleValue 方法重写,继承类
Number
double后。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.