public class AtomicInteger extends Numberimplements Serializable
int value that may be updated atomically. See the
java.util.concurrent.atomic package specification for description of the properties of atomic variables. An
AtomicInteger is used in applications such as atomically incremented counters, and cannot be used as a replacement for an
Integer. However, this class does extend
Number to allow uniform access by tools and utilities that deal with numerically-based classes.
| Constructor and Description |
|---|
AtomicInteger()
Creates a new AtomicInteger with initial value
0.
|
AtomicInteger(int initialValue)
Creates a new AtomicInteger with the given initial value.
|
| Modifier and Type | Method and Description |
|---|---|
int |
accumulateAndGet(int x, IntBinaryOperator
Atomically updates the current value with the results of applying the given function to the current and given values, returning the updated value.
|
int |
addAndGet(int delta)
Atomically adds the given value to the current value.
|
boolean |
compareAndSet(int expect, int update)
Atomically sets the value to the given updated value if the current value
== the expected value.
|
int |
decrementAndGet()
Atomically decrements by one the current value.
|
double |
doubleValue()
Returns the value of this
AtomicInteger as a
double after a widening primitive conversion.
|
float |
floatValue()
Returns the value of this
AtomicInteger as a
float after a widening primitive conversion.
|
int |
get()
Gets the current value.
|
int |
getAndAccumulate(int x, IntBinaryOperator
Atomically updates the current value with the results of applying the given function to the current and given values, returning the previous value.
|
int |
getAndAdd(int delta)
Atomically adds the given value to the current value.
|
int |
getAndDecrement()
Atomically decrements by one the current value.
|
int |
getAndIncrement()
Atomically increments by one the current value.
|
int |
getAndSet(int newValue)
Atomically sets to the given value and returns the old value.
|
int |
getAndUpdate(IntUnaryOperator
Atomically updates the current value with the results of applying the given function, returning the previous value.
|
int |
incrementAndGet()
Atomically increments by one the current value.
|
int |
intValue()
Returns the value of this
AtomicInteger as an
int.
|
void |
lazySet(int newValue)
Eventually sets to the given value.
|
long |
longValue()
Returns the value of this
AtomicInteger as a
long after a widening primitive conversion.
|
void |
set(int newValue)
Sets to the given value.
|
String |
toString()
Returns the String representation of the current value.
|
int |
updateAndGet(IntUnaryOperator
Atomically updates the current value with the results of applying the given function, returning the updated value.
|
boolean |
weakCompareAndSet(int expect, int update)
Atomically sets the value to the given updated value if the current value
== the expected value.
|
byteValue, shortValuepublic AtomicInteger(int initialValue)
initialValue - the initial value
public AtomicInteger()
0.
public final int get()
public final void set(int newValue)
newValue - the new value
public final void lazySet(int newValue)
newValue - the new value
public final int getAndSet(int newValue)
newValue - the new value
public final boolean compareAndSet(int expect,
int 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(int expect,
int 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 int getAndIncrement()
public final int getAndDecrement()
public final int getAndAdd(int delta)
delta - the value to add
public final int incrementAndGet()
public final int decrementAndGet()
public final int addAndGet(int delta)
delta - the value to add
public final int getAndUpdate(IntUnaryOperatorupdateFunction)
updateFunction - a side-effect-free function
public final int updateAndGet(IntUnaryOperatorupdateFunction)
updateFunction - a side-effect-free function
public final int getAndAccumulate(int x,
IntBinaryOperator accumulatorFunction)
x - the update value
accumulatorFunction - a side-effect-free function of two arguments
public final int accumulateAndGet(int x,
IntBinaryOperator accumulatorFunction)
x - the update value
accumulatorFunction - a side-effect-free function of two arguments
public StringtoString()
public int intValue()
AtomicInteger as an
int.
public long longValue()
AtomicInteger as a
long after a widening primitive conversion.
public float floatValue()
AtomicInteger as a
float after a widening primitive conversion.
floatValue in class
Number
float.
public double doubleValue()
AtomicInteger as a
double after a widening primitive conversion.
doubleValue in class
Number
double.