public class AtomicLong extends Numberimplements Serializable
long value that may be updated atomically. See the
java.util.concurrent.atomic package specification for description of the properties of atomic variables. An
AtomicLong is used in applications such as atomically incremented sequence numbers, and cannot be used as a replacement for a
Long. However, this class does extend
Number to allow uniform access by tools and utilities that deal with numerically-based classes.
| Constructor and Description |
|---|
AtomicLong()
Creates a new AtomicLong with initial value
0.
|
AtomicLong(long initialValue)
Creates a new AtomicLong with the given initial value.
|
| Modifier and Type | Method and Description |
|---|---|
long |
accumulateAndGet(long x, LongBinaryOperator
Atomically updates the current value with the results of applying the given function to the current and given values, returning the updated value.
|
long |
addAndGet(long delta)
Atomically adds the given value to the current value.
|
boolean |
compareAndSet(long expect, long update)
Atomically sets the value to the given updated value if the current value
== the expected value.
|
long |
decrementAndGet()
Atomically decrements by one the current value.
|
double |
doubleValue()
Returns the value of this
AtomicLong as a
double after a widening primitive conversion.
|
float |
floatValue()
Returns the value of this
AtomicLong as a
float after a widening primitive conversion.
|
long |
get()
Gets the current value.
|
long |
getAndAccumulate(long x, LongBinaryOperator
Atomically updates the current value with the results of applying the given function to the current and given values, returning the previous value.
|
long |
getAndAdd(long delta)
Atomically adds the given value to the current value.
|
long |
getAndDecrement()
Atomically decrements by one the current value.
|
long |
getAndIncrement()
Atomically increments by one the current value.
|
long |
getAndSet(long newValue)
Atomically sets to the given value and returns the old value.
|
long |
getAndUpdate(LongUnaryOperator
Atomically updates the current value with the results of applying the given function, returning the previous value.
|
long |
incrementAndGet()
Atomically increments by one the current value.
|
int |
intValue()
Returns the value of this
AtomicLong as an
int after a narrowing primitive conversion.
|
void |
lazySet(long newValue)
Eventually sets to the given value.
|
long |
longValue()
Returns the value of this
AtomicLong as a
long.
|
void |
set(long newValue)
Sets to the given value.
|
String |
toString()
Returns the String representation of the current value.
|
long |
updateAndGet(LongUnaryOperator
Atomically updates the current value with the results of applying the given function, returning the updated value.
|
boolean |
weakCompareAndSet(long expect, long update)
Atomically sets the value to the given updated value if the current value
== the expected value.
|
byteValue, shortValuepublic AtomicLong(long initialValue)
initialValue - the initial value
public AtomicLong()
0.
public final long get()
public final void set(long newValue)
newValue - the new value
public final void lazySet(long newValue)
newValue - the new value
public final long getAndSet(long newValue)
newValue - the new value
public final boolean compareAndSet(long expect,
long update)
== the expected value.
expect - the expected value
update - the new value
true if successful. False return indicates that the actual value was not equal to the expected value.
public final boolean weakCompareAndSet(long expect,
long update)
== the expected value.
May fail spuriously and does not provide ordering guarantees, so is only rarely an appropriate alternative to compareAndSet.
expect - the expected value
update - the new value
true if successful
public final long getAndIncrement()
public final long getAndDecrement()
public final long getAndAdd(long delta)
delta - the value to add
public final long incrementAndGet()
public final long decrementAndGet()
public final long addAndGet(long delta)
delta - the value to add
public final long getAndUpdate(LongUnaryOperatorupdateFunction)
updateFunction - a side-effect-free function
public final long updateAndGet(LongUnaryOperatorupdateFunction)
updateFunction - a side-effect-free function
public final long getAndAccumulate(long x,
LongBinaryOperator accumulatorFunction)
x - the update value
accumulatorFunction - a side-effect-free function of two arguments
public final long accumulateAndGet(long x,
LongBinaryOperator accumulatorFunction)
x - the update value
accumulatorFunction - a side-effect-free function of two arguments
public StringtoString()
public int intValue()
AtomicLong as an
int after a narrowing primitive conversion.
public long longValue()
AtomicLong as a
long.
public float floatValue()
AtomicLong as a
float after a widening primitive conversion.
floatValue in class
Number
float.
public double doubleValue()
AtomicLong as a
double after a widening primitive conversion.
doubleValue in class
Number
double.