This class uses java.lang.reflect to define atomic operations for named volatile long fields of a specified class. See AtomicIntegerFieldUpdater , which is very similar. public abstract class AtomicLongFieldUpdater<T> { // Protected Constructors protected AtomicLongFieldUpdater ( ); // Public Class Methods public static <U> AtomicLongFieldUpdater<U> newUpdater (Class<U> tclass , String fieldName ); // Public Instance Methods public long addAndGet (T obj , long delta ); public abstract boolean compareAndSet (T obj , long expect , long update ); public long decrementAndGet (T obj ); public abstract long get (T obj ); public long getAndAdd (T obj , long delta ); public long getAndDecrement (T obj ); public long getAndIncrement (T obj ); public long getAndSet (T obj , long newValue ); public long incrementAndGet (T obj ); public abstract void set (T obj , long newValue ); public abstract boolean weakCompareAndSet (T obj , long expect , long update ); } |