V
- The type of object referred to by this referencepublic class AtomicReference<V> extends Object implements Serializable
java.util.concurrent.atomic
package specification for description
of the properties of atomic variables.Constructor and Description |
---|
AtomicReference()
Creates a new AtomicReference with null initial value.
|
AtomicReference(V initialValue)
Creates a new AtomicReference with the given initial value.
|
Modifier and Type | Method and Description |
---|---|
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.
|
boolean |
compareAndSet(V expect,
V update)
Atomically sets the value to the given updated value
if the current value
== the expected value. |
V |
get()
Gets the current value.
|
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.
|
V |
getAndSet(V newValue)
Atomically sets to the given value and returns the old value.
|
V |
getAndUpdate(UnaryOperator<V> updateFunction)
Atomically updates the current value with the results of
applying the given function, returning the previous value.
|
void |
lazySet(V newValue)
Eventually sets to the given value.
|
void |
set(V newValue)
Sets to the given value.
|
String |
toString()
Returns the String representation of the current value.
|
V |
updateAndGet(UnaryOperator<V> updateFunction)
Atomically updates the current value with the results of
applying the given function, returning the updated value.
|
boolean |
weakCompareAndSet(V expect,
V update)
Atomically sets the value to the given updated value
if the current value
== the expected value. |
public AtomicReference(V initialValue)
initialValue
- the initial valuepublic AtomicReference()
public final V get()
public final void set(V newValue)
newValue
- the new valuepublic final void lazySet(V newValue)
newValue
- the new valuepublic final boolean compareAndSet(V expect, V update)
==
the expected value.expect
- the expected valueupdate
- the new valuetrue
if successful. False return indicates that
the actual value was not equal to the expected value.public final boolean weakCompareAndSet(V expect, V 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 valueupdate
- the new valuetrue
if successfulpublic final V getAndSet(V newValue)
newValue
- the new valuepublic final V getAndUpdate(UnaryOperator<V> updateFunction)
updateFunction
- a side-effect-free functionpublic final V updateAndGet(UnaryOperator<V> updateFunction)
updateFunction
- a side-effect-free functionpublic final V getAndAccumulate(V x, BinaryOperator<V> accumulatorFunction)
x
- the update valueaccumulatorFunction
- a side-effect-free function of two argumentspublic final V accumulateAndGet(V x, BinaryOperator<V> accumulatorFunction)
x
- the update valueaccumulatorFunction
- a side-effect-free function of two arguments 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, 2019, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.