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, shortValue
public 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
。