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.

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