Langage

AtomicReferenceFieldUpdater Classe

Définition

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

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

Remarques

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées. Cette classe est conçue pour être utilisée dans les structures de données atomiques dans lesquelles plusieurs champs de référence du même nœud sont soumis indépendamment aux mises à jour atomiques. Par exemple, un nœud d’arborescence peut être déclaré en tant que

{@code
            class Node {
              private volatile Node left, right;

              private static final AtomicReferenceFieldUpdater<Node, Node> leftUpdater =
                AtomicReferenceFieldUpdater.newUpdater(Node.class, Node.class, "left");
              private static final AtomicReferenceFieldUpdater<Node, Node> rightUpdater =
                AtomicReferenceFieldUpdater.newUpdater(Node.class, Node.class, "right");

              Node getLeft() { return left; }
              boolean compareAndSetLeft(Node expect, Node update) {
                return leftUpdater.compareAndSet(this, expect, update);
              }
              // ... and so on
            }}

Notez que les garanties de la compareAndSet méthode dans cette classe sont plus faibles que dans d’autres classes atomiques. Étant donné que cette classe ne peut pas s’assurer que toutes les utilisations du champ sont appropriées à des fins d’accès atomique, elle ne peut garantir l’atomicité que par rapport à d’autres appels et compareAndSetset sur le même programme de mise à jour.

Les arguments d’objet pour les paramètres de type T qui ne sont pas des instances de la classe passée #newUpdater entraînent une ClassCastException levée.

Ajouté à la version 1.5.

Java documentation pour java.util.concurrent.atomic.AtomicReferenceFieldUpdater.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
AtomicReferenceFieldUpdater()

Constructeur do-nothing protégé à utiliser par les sous-classes.

AtomicReferenceFieldUpdater(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)
JniPeerMembers

Obtient les métadonnées JNI utilisées pour appeler les membres de cet homologue Java.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

Nom Description
AccumulateAndGet(Object, Object, IBinaryOperator)

Met à jour atomiquement (avec les effets de mémoire spécifiés par VarHandle#compareAndSet) le champ de l’objet donné géré par ce programme de mise à jour avec les résultats de l’application de la fonction donnée aux valeurs actuelles et données, en retournant la valeur mise à jour.

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
CompareAndSet(Object, Object, Object)

Définit atomiquement le champ de l’objet donné géré par ce updater sur la valeur mise à jour donnée si la valeur actuelle est la valeur == attendue.

Construct(JniObjectReference, JniObjectReferenceOptions)

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)
Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)
Equals(Object)

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
Get(Object)

Retourne la valeur actuelle conservée dans le champ de l’objet donné géré par ce updater.

GetAndAccumulate(Object, Object, IBinaryOperator)

Met à jour atomiquement (avec les effets de mémoire spécifiés par VarHandle#compareAndSet) le champ de l’objet donné géré par ce updater avec les résultats de l’application de la fonction donnée aux valeurs actuelles et données, en retournant la valeur précédente.

GetAndSet(Object, Object)

Définit atomiquement le champ de l’objet donné géré par ce updater sur la valeur donnée et retourne l’ancienne valeur.

GetAndUpdate(Object, IUnaryOperator)

Met à jour atomiquement (avec les effets de mémoire spécifiés par VarHandle#compareAndSet) le champ de l’objet donné géré par ce updater avec les résultats de l’application de la fonction donnée, en retournant la valeur précédente.

GetHashCode()

Retourne une valeur de code de hachage pour l'objet.

(Hérité de Object)
JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
LazySet(Object, Object)

Définit finalement le champ de l’objet donné géré par ce updater sur la valeur mise à jour donnée.

NewUpdater(Class, Class, String)

Crée et retourne un updater pour les objets avec le champ donné.

Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
Set(Object, Object)

Définit le champ de l’objet donné géré par ce updater sur la valeur mise à jour donnée.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)
ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
UpdateAndGet(Object, IUnaryOperator)

Met à jour atomiquement (avec les effets de mémoire spécifiés par VarHandle#compareAndSet) le champ de l’objet donné géré par ce programme de mise à jour avec les résultats de l’application de la fonction donnée, en retournant la valeur mise à jour.

Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
WeakCompareAndSet(Object, Object, Object)

Définit atomiquement le champ de l’objet donné géré par ce updater sur la valeur mise à jour donnée si la valeur actuelle est la valeur == attendue.

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

(Hérité de JavaObject)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Utilitaire basé sur la réflexion qui permet des mises à jour atomiques aux champs de référence désignés volatile des classes désignées.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à