# Print output for @column tags ?>
public
class
AtomicReference
extends Object
implements
Serializable
| java.lang.Object | |
| ↳ | java.util.concurrent.atomic.AtomicReference<V> |
An object reference that may be updated atomically. See the java.util.concurrent.atomic package specification for description
of the properties of atomic variables.
Public constructors | |
|---|---|
AtomicReference(V initialValue)
Creates a new AtomicReference with the given initial value. |
|
AtomicReference()
Creates a new AtomicReference with null initial value. |
|
Public methods | |
|---|---|
final
V
|
accumulateAndGet(V x, BinaryOperator<V> accumulatorFunction)
Atomically updates the current value with the results of applying the given function to the current and given values, returning the updated value. |
final
boolean
|
compareAndSet(V expect, V update)
Atomically sets the value to the given updated value
if the current value |
final
V
|
get()
Gets the current value. |
final
V
|
getAndAccumulate(V x, BinaryOperator<V> accumulatorFunction)
Atomically updates the current value with the results of applying the given function to the current and given values, returning the previous value. |
final
V
|
getAndSet(V newValue)
Atomically sets to the given value and returns the old value. |
final
V
|
getAndUpdate(UnaryOperator<V> updateFunction)
Atomically updates the current value with the results of applying the given function, returning the previous value. |
final
void
|
lazySet(V newValue)
Eventually sets to the given value. |
final
void
|
set(V newValue)
Sets to the given value. |
String
|
toString()
Returns the String representation of the current value. |
final
V
|
updateAndGet(UnaryOperator<V> updateFunction)
Atomically updates the current value with the results of applying the given function, returning the updated value. |
final
boolean
|
weakCompareAndSet(V expect, V update)
Atomically sets the value to the given updated value
if the current value |
Inherited methods | |
|---|---|
public AtomicReference (V initialValue)
Creates a new AtomicReference with the given initial value.
| Parameters | |
|---|---|
initialValue |
V: the initial value |
public AtomicReference ()
Creates a new AtomicReference with null initial value.
public final V accumulateAndGet (V x,
BinaryOperator<V> accumulatorFunction)
Atomically updates the current value with the results of applying the given function to the current and given values, returning the updated value. The function should be side-effect-free, since it may be re-applied when attempted updates fail due to contention among threads. The function is applied with the current value as its first argument, and the given update as the second argument.
| Parameters | |
|---|---|
x |
V: the update value |
accumulatorFunction |
BinaryOperator: a side-effect-free function of two arguments |
| Returns | |
|---|---|
V |
the updated value |
public final boolean compareAndSet (V expect,
V update)
Atomically sets the value to the given updated value
if the current value == the expected value.
| Parameters | |
|---|---|
expect |
V: the expected value |
update |
V: the new value |
| Returns | |
|---|---|
boolean |
true if successful. False return indicates that
the actual value was not equal to the expected value. |
public final V get ()
Gets the current value.
| Returns | |
|---|---|
V |
the current value |
public final V getAndAccumulate (V x,
BinaryOperator<V> accumulatorFunction)
Atomically updates the current value with the results of applying the given function to the current and given values, returning the previous value. The function should be side-effect-free, since it may be re-applied when attempted updates fail due to contention among threads. The function is applied with the current value as its first argument, and the given update as the second argument.
| Parameters | |
|---|---|
x |
V: the update value |
accumulatorFunction |
BinaryOperator: a side-effect-free function of two arguments |
| Returns | |
|---|---|
V |
the previous value |
public final V getAndSet (V newValue)
Atomically sets to the given value and returns the old value.
| Parameters | |
|---|---|
newValue |
V: the new value |
| Returns | |
|---|---|
V |
the previous value |
public final V getAndUpdate (UnaryOperator<V> updateFunction)
Atomically updates the current value with the results of applying the given function, returning the previous value. The function should be side-effect-free, since it may be re-applied when attempted updates fail due to contention among threads.
| Parameters | |
|---|---|
updateFunction |
UnaryOperator: a side-effect-free function |
| Returns | |
|---|---|
V |
the previous value |
public final void lazySet (V newValue)
Eventually sets to the given value.
| Parameters | |
|---|---|
newValue |
V: the new value |
public final void set (V newValue)
Sets to the given value.
| Parameters | |
|---|---|
newValue |
V: the new value |
public String toString ()
Returns the String representation of the current value.
| Returns | |
|---|---|
String |
the String representation of the current value |
public final V updateAndGet (UnaryOperator<V> updateFunction)
Atomically updates the current value with the results of applying the given function, returning the updated value. The function should be side-effect-free, since it may be re-applied when attempted updates fail due to contention among threads.
| Parameters | |
|---|---|
updateFunction |
UnaryOperator: a side-effect-free function |
| Returns | |
|---|---|
V |
the updated value |
public final boolean weakCompareAndSet (V expect,
V update)
Atomically sets the value to the given updated value
if the current value == the expected value.
May fail
spuriously and does not provide ordering guarantees, so is
only rarely an appropriate alternative to compareAndSet.
| Parameters | |
|---|---|
expect |
V: the expected value |
update |
V: the new value |
| Returns | |
|---|---|
boolean |
true if successful |