This threadsafe class holds an int value. It extends java.lang.Number , but unlike the Integer class, it is mutable. Access the int value with the get( ) method and the various methods inherited from Number . You can set the value with the set( ) method or through various atomic methods. In addition to the basic compareAndSet( ) and weakCompareAndSet( ) methods, this class defines methods for atomic pre-increment , post-increment, pre-decrement and post-decrement operations as well as generalized addAndGet( ) and getAndAdd( ) methods. addAndGet( ) atomically adds the specified amount to the stored value and returns the new value. getAndAdd( ) atomically returns the current value and then adds the specified amount to it. Figure 16-98. java.util.concurrent.atomic.AtomicIntegerpublic class AtomicInteger extends Number implements Serializable { // Public Constructors public AtomicInteger ( ); public AtomicInteger (int initialValue ); // Public Instance Methods public final int addAndGet (int delta ); public final boolean compareAndSet (int expect , int update ); public final int decrementAndGet ( ); public final int get ( ); public final int getAndAdd (int delta ); public final int getAndDecrement ( ); default:0 public final int getAndIncrement ( ); default:-1 public final int getAndSet (int newValue ); public final int incrementAndGet ( ); public final void set (int newValue ); public final boolean weakCompareAndSet (int expect , int update ); // Public Methods Overriding Number public double doubleValue ( ); public float floatValue ( ); public int intValue ( ); public long longValue ( ); // Public Methods Overriding Object public String toString ( ); } |