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);
}