Name
AtomicReference<V>
Synopsis
This
threadsafe class holds a mutable reference to an object of type
V
, provides volatile
access semantics, and defines atomic operations for manipulating that
value. get( )
and set( )
are
ordinary accessor methods for the reference. compareAndSet(
)
, weakCompareAndSet( )
, and
getAndSet( )
perform the two named operations
atomically. compareAndSet( )
is the canonical
atomic operation: the reference is compared to an expected value,
and, if it matches, is set to a new value. compareAndSet(
)
returns true if it set the value or
false
otherwise. weakCompareAndSet(
)
is similar but may fail to set the reference even if it
does match the expected value (it is guaranteed to succeed eventually
if the operation is repeatedly retried, however).
Figure 16-102. java.util.concurrent.atomic.AtomicReference<V>
public class AtomicReference<V> implements Serializable { // Public Constructors public AtomicReference( ); public AtomicReference(V initialValue); // Public Instance Methods public final boolean compareAndSet(V expect, V update); public final V get( ); public final V getAndSet(V newValue); public final void set(V newValue); public final boolean weakCompareAndSet(V expect, V update); // Public Methods Overriding Object public String toString( ); }
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.