Condividi tramite


AtomicIntegerFieldUpdater Class

Definition

A reflection-based utility that enables atomic updates to designated volatile int fields of designated classes.

[Android.Runtime.Register("java/util/concurrent/atomic/AtomicIntegerFieldUpdater", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public abstract class AtomicIntegerFieldUpdater : Java.Lang.Object
[<Android.Runtime.Register("java/util/concurrent/atomic/AtomicIntegerFieldUpdater", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type AtomicIntegerFieldUpdater = class
    inherit Object
Inheritance
AtomicIntegerFieldUpdater
Attributes

Remarks

A reflection-based utility that enables atomic updates to designated volatile int fields of designated classes. This class is designed for use in atomic data structures in which several fields of the same node are independently subject to atomic updates.

Note that the guarantees of the compareAndSet method in this class are weaker than in other atomic classes. Because this class cannot ensure that all uses of the field are appropriate for purposes of atomic access, it can guarantee atomicity only with respect to other invocations of compareAndSet and set on the same updater.

Object arguments for parameters of type T that are not instances of the class passed to #newUpdater will result in a ClassCastException being thrown.

Added in 1.5.

Java documentation for java.util.concurrent.atomic.AtomicIntegerFieldUpdater.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Constructors

AtomicIntegerFieldUpdater()

Protected do-nothing constructor for use by subclasses.

AtomicIntegerFieldUpdater(IntPtr, JniHandleOwnership)

A constructor used when creating managed representations of JNI objects; called by the runtime.

Properties

Class

Returns the runtime class of this Object.

(Inherited from Object)
Handle

The handle to the underlying Android instance.

(Inherited from Object)
JniIdentityHashCode (Inherited from Object)
JniPeerMembers
PeerReference (Inherited from Object)
ThresholdClass

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

ThresholdType

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

Methods

AccumulateAndGet(Object, Int32, IIntBinaryOperator)

Atomically updates (with memory effects as specified by VarHandle#compareAndSet) the field of the given object managed by this updater with the results of applying the given function to the current and given values, returning the updated value.

AddAndGet(Object, Int32)

Atomically adds the given value to the current value of the field of the given object managed by this updater.

Clone()

Creates and returns a copy of this object.

(Inherited from Object)
CompareAndSet(Object, Int32, Int32)

Atomically sets the field of the given object managed by this updater to the given updated value if the current value == the expected value.

DecrementAndGet(Object)

Atomically decrements by one the current value of the field of the given object managed by this updater.

Dispose() (Inherited from Object)
Dispose(Boolean) (Inherited from Object)
Equals(Object)

Indicates whether some other object is "equal to" this one.

(Inherited from Object)
Get(Object)

Returns the current value held in the field of the given object managed by this updater.

GetAndAccumulate(Object, Int32, IIntBinaryOperator)

Atomically updates (with memory effects as specified by VarHandle#compareAndSet) the field of the given object managed by this updater with the results of applying the given function to the current and given values, returning the previous value.

GetAndAdd(Object, Int32)

Atomically adds the given value to the current value of the field of the given object managed by this updater.

GetAndDecrement(Object)

Atomically decrements by one the current value of the field of the given object managed by this updater.

GetAndIncrement(Object)

Atomically increments by one the current value of the field of the given object managed by this updater.

GetAndSet(Object, Int32)

Atomically sets the field of the given object managed by this updater to the given value and returns the old value.

GetAndUpdate(Object, IIntUnaryOperator)

Atomically updates (with memory effects as specified by VarHandle#compareAndSet) the field of the given object managed by this updater with the results of applying the given function, returning the previous value.

GetHashCode()

Returns a hash code value for the object.

(Inherited from Object)
IncrementAndGet(Object)

Atomically increments by one the current value of the field of the given object managed by this updater.

JavaFinalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

(Inherited from Object)
LazySet(Object, Int32)

Eventually sets the field of the given object managed by this updater to the given updated value.

NewUpdater(Class, String)

Creates and returns an updater for objects with the given field.

Notify()

Wakes up a single thread that is waiting on this object's monitor.

(Inherited from Object)
NotifyAll()

Wakes up all threads that are waiting on this object's monitor.

(Inherited from Object)
Set(Object, Int32)

Sets the field of the given object managed by this updater to the given updated value.

SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

(Inherited from Object)
ToArray<T>() (Inherited from Object)
ToString()

Returns a string representation of the object.

(Inherited from Object)
UnregisterFromRuntime() (Inherited from Object)
UpdateAndGet(Object, IIntUnaryOperator)

Atomically updates (with memory effects as specified by VarHandle#compareAndSet) the field of the given object managed by this updater with the results of applying the given function, returning the updated value.

Wait()

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>.

(Inherited from Object)
Wait(Int64, Int32)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)
Wait(Int64)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)
WeakCompareAndSet(Object, Int32, Int32)

Atomically sets the field of the given object managed by this updater to the given updated value if the current value == the expected value.

Explicit Interface Implementations

IJavaPeerable.Disposed() (Inherited from Object)
IJavaPeerable.DisposeUnlessReferenced() (Inherited from Object)
IJavaPeerable.Finalized() (Inherited from Object)
IJavaPeerable.JniManagedPeerState (Inherited from Object)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from Object)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from Object)

Extension Methods

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
GetJniTypeName(IJavaPeerable)

Applies to