public class AtomicLong extends Number implements Serializable
long值可以用原子更新。
有关原子变量属性的描述,请参阅java.util.concurrent.atomic包规范。
一个AtomicLong用于诸如原子增量的序列号的应用中,不能用作Long的替代物 。
但是,该类确实扩展了Number ,以允许使用基于数字类的工具和实用程序的统一访问。
| Constructor and Description |
|---|
AtomicLong()
创建一个新的AtomicLong,初始值为
0 。
|
AtomicLong(long initialValue)
用给定的初始值创建一个新的AtomicLong。
|
| Modifier and Type | Method and Description |
|---|---|
long |
accumulateAndGet(long x, LongBinaryOperator accumulatorFunction)
使用将给定函数应用于当前值和给定值的结果原子更新当前值,返回更新后的值。
|
long |
addAndGet(long delta)
将给定的值原子地添加到当前值。
|
boolean |
compareAndSet(long expect, long update)
如果当前值为
== ,则将原值设置为给定的更新值。
|
long |
decrementAndGet()
原子减1当前值。
|
double |
doubleValue()
返回此值
AtomicLong为
double一个宽元转换后。
|
float |
floatValue()
返回此值
AtomicLong为
float一个宽元转换后。
|
long |
get()
获取当前值。
|
long |
getAndAccumulate(long x, LongBinaryOperator accumulatorFunction)
使用给定函数应用给当前值和给定值的结果原子更新当前值,返回上一个值。
|
long |
getAndAdd(long delta)
将给定的值原子地添加到当前值。
|
long |
getAndDecrement()
原子减1当前值。
|
long |
getAndIncrement()
原子上增加一个当前值。
|
long |
getAndSet(long newValue)
将原子设置为给定值并返回旧值。
|
long |
getAndUpdate(LongUnaryOperator updateFunction)
用应用给定函数的结果原子更新当前值,返回上一个值。
|
long |
incrementAndGet()
原子上增加一个当前值。
|
int |
intValue()
返回此的值
AtomicLong作为
int的基本收缩转换之后。
|
void |
lazySet(long newValue)
最终设定为给定值。
|
long |
longValue()
将
AtomicLong的值作为
long 。
|
void |
set(long newValue)
设置为给定值。
|
String |
toString()
返回当前值的String表示形式。
|
long |
updateAndGet(LongUnaryOperator updateFunction)
使用给定函数的结果原子更新当前值,返回更新的值。
|
boolean |
weakCompareAndSet(long expect, long update)
如果当前值为
== ,则将原值设置为给定的更新值。
|
byteValue, shortValuepublic AtomicLong(long initialValue)
initialValue - 初始值
public AtomicLong()
0 。
public final long get()
public final void set(long newValue)
newValue - 新价值
public final void lazySet(long newValue)
newValue - 新价值
public final long getAndSet(long newValue)
newValue - 新的价值
public final boolean compareAndSet(long expect,
long update)
==为预期值,则将该值原子设置为给定的更新值。
expect - 预期值
update - 新的价值
true如果成功。
False return表示实际值不等于预期值。
public final boolean weakCompareAndSet(long expect,
long update)
== ,则将原值设置为给定的更新值。
May fail spuriously and does not provide ordering guarantees ,所以只是很少适合替代compareAndSet 。
expect - 预期值
update - 新值
true如果成功
public final long getAndIncrement()
public final long getAndDecrement()
public final long getAndAdd(long delta)
delta - 要添加的值
public final long incrementAndGet()
public final long decrementAndGet()
public final long addAndGet(long delta)
delta - 要添加的值
public final long getAndUpdate(LongUnaryOperator updateFunction)
updateFunction - 无副作用的功能
public final long updateAndGet(LongUnaryOperator updateFunction)
updateFunction - 无副作用的功能
public final long getAndAccumulate(long x,
LongBinaryOperator accumulatorFunction)
x - 更新值
accumulatorFunction - 两个参数的无效副作用
public final long accumulateAndGet(long x,
LongBinaryOperator accumulatorFunction)
x - 更新值
accumulatorFunction - 两个参数的无效副作用
public int intValue()
AtomicLong作为
int的基本收缩转换之后。
public long longValue()
AtomicLong的值作为
long 。
public float floatValue()
AtomicLong为
float一个宽元转换后。
floatValue在
Number
float之后表示的
float 。
public double doubleValue()
AtomicLong为
double一个宽元转换后。
doubleValue在类别
Number
double之后表示的
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.