|
Préférences
Moteurs de recherche
|
||||||||||||||||||||||||||||||||||||
JavaTM 2 Platform Std. Ed. v1.6.0
java.util.concurrent.atomic
|
Constructor Summary | |
---|---|
protected |
AtomicLongFieldUpdater()
Protected do-nothing constructor for use by subclasses. |
Method Summary | ||
---|---|---|
long |
addAndGet(T obj,
long delta)
Atomically adds the given value to the current value of the field of the given object managed by this updater. |
|
abstract boolean |
compareAndSet(T obj,
long expect,
long update)
Atomically sets the field of the given object managed by this updater to the given updated value if the current value == the
expected value. |
|
long |
decrementAndGet(T obj)
Atomically decrements by one the current value of the field of the given object managed by this updater. |
|
abstract long |
get(T obj)
Gets the current value held in the field of the given object managed by this updater. |
|
long |
getAndAdd(T obj,
long delta)
Atomically adds the given value to the current value of the field of the given object managed by this updater. |
|
long |
getAndDecrement(T obj)
Atomically decrements by one the current value of the field of the given object managed by this updater. |
|
long |
getAndIncrement(T obj)
Atomically increments by one the current value of the field of the given object managed by this updater. |
|
long |
getAndSet(T obj,
long newValue)
Atomically sets the field of the given object managed by this updater to the given value and returns the old value. |
|
long |
incrementAndGet(T obj)
Atomically increments by one the current value of the field of the given object managed by this updater. |
|
abstract void |
lazySet(T obj,
long newValue)
Eventually sets the field of the given object managed by this updater to the given updated value. |
|
static
|
newUpdater(Class<U> tclass,
String fieldName)
Creates and returns an updater for objects with the given field. |
|
abstract void |
set(T obj,
long newValue)
Sets the field of the given object managed by this updater to the given updated value. |
|
abstract boolean |
weakCompareAndSet(T obj,
long expect,
long update)
Atomically sets the field of the given object managed by this updater to the given updated value if the current value == the
expected value. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected AtomicLongFieldUpdater()
Method Detail |
---|
public static <U> AtomicLongFieldUpdater<U> newUpdater(Class<U> tclass, String fieldName)
tclass
- the class of the objects holding the fieldfieldName
- the name of the field to be updated.
IllegalArgumentException
- if the field is not a
volatile long type.
RuntimeException
- with a nested reflection-based
exception if the class does not hold field or is the wrong type.public abstract boolean compareAndSet(T obj, long expect, long update)
==
the
expected value. This method is guaranteed to be atomic with respect to
other calls to compareAndSet
and set
, but not
necessarily with respect to other changes in the field.
obj
- An object whose field to conditionally setexpect
- the expected valueupdate
- the new value
ClassCastException
- if obj
is not an instance
of the class possessing the field established in the constructor.public abstract boolean weakCompareAndSet(T obj, long expect, long update)
==
the
expected value. This method is guaranteed to be atomic with respect to
other calls to compareAndSet
and set
, but not
necessarily with respect to other changes in the field.
May fail spuriously
and does not provide ordering guarantees, so is only rarely an
appropriate alternative to compareAndSet
.
obj
- An object whose field to conditionally setexpect
- the expected valueupdate
- the new value
ClassCastException
- if obj
is not an instance
of the class possessing the field established in the constructor.public abstract void set(T obj, long newValue)
compareAndSet
.
obj
- An object whose field to setnewValue
- the new valuepublic abstract void lazySet(T obj, long newValue)
obj
- An object whose field to setnewValue
- the new valuepublic abstract long get(T obj)
obj
- An object whose field to get
public long getAndSet(T obj, long newValue)
obj
- An object whose field to get and setnewValue
- the new value
public long getAndIncrement(T obj)
obj
- An object whose field to get and set
public long getAndDecrement(T obj)
obj
- An object whose field to get and set
public long getAndAdd(T obj, long delta)
obj
- An object whose field to get and setdelta
- the value to add
public long incrementAndGet(T obj)
obj
- An object whose field to get and set
public long decrementAndGet(T obj)
obj
- An object whose field to get and set
public long addAndGet(T obj, long delta)
obj
- An object whose field to get and setdelta
- the value to add