This threadsafe class holds a mutable reference
to an object of type V and also holds a
mutable int value or
"stamp." It defines atomic
operations and volatile access semantics for the reference and the
stamp. This class works just like
AtomicMarkableReference except that an
int "stamp"
replaces the boolean
"mark." See
AtomicMarkableReference for further details.
public class
AtomicStampedReference<V> {
// Public Constructors
public
AtomicStampedReference (V
initialRef , int
initialStamp );
// Public Instance Methods
public boolean
attemptStamp (V
expectedReference , int
newStamp );
public boolean
compareAndSet (V
expectedReference , V
newReference ,
int
expectedStamp , int
newStamp );
public V
get (int[ ]
stampHolder );
public V
getReference ( );
public int
getStamp ( );
public void
set (V
newReference , int
newStamp );
public boolean
weakCompareAndSet (V
expectedReference , V
newReference ,
int
expectedStamp , int
newStamp );
}