AtomicReferenceFieldUpdater Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados volatile de clases designadas.
[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
- Herencia
- Atributos
Comentarios
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados volatile de clases designadas. Esta clase está diseñada para su uso en estructuras de datos atómicas en las que varios campos de referencia del mismo nodo están sujetos de forma independiente a actualizaciones atómicas. Por ejemplo, un nodo de árbol podría declararse como
{@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
}}
Tenga en cuenta que las garantías del compareAndSet método de esta clase son más débiles que en otras clases atómicas. Dado que esta clase no puede garantizar que todos los usos del campo sean adecuados para fines de acceso atómico, puede garantizar la atomicidad solo con respecto a otras invocaciones de compareAndSet y set en el mismo actualizador.
Los argumentos de objeto para los parámetros de tipo T que no son instancias de la clase pasada a darán lugar a #newUpdater que se produzca una ClassCastException excepción .
Agregado en 1.5.
Documentación de Java para java.util.concurrent.atomic.AtomicReferenceFieldUpdater.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
| AtomicReferenceFieldUpdater() |
Constructor do-nothing protegido para su uso por subclases. |
| AtomicReferenceFieldUpdater(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| JniIdentityHashCode |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| JniPeerMembers |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| PeerReference |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
Métodos
| AccumulateAndGet(Object, Object, IBinaryOperator) |
Actualiza de forma atómica (con efectos de memoria especificados por |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| CompareAndSet(Object, Object, Object) |
Establece de forma atómica el campo del objeto especificado administrado por este actualizador en el valor actualizado especificado si el valor actual es el valor |
| Dispose() |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| Dispose(Boolean) |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| Get(Object) |
Devuelve el valor actual mantenido en el campo del objeto especificado administrado por este actualizador. |
| GetAndAccumulate(Object, Object, IBinaryOperator) |
Actualiza de forma atómica (con efectos de memoria especificados por |
| GetAndSet(Object, Object) |
Establece de forma atómica el campo del objeto especificado administrado por este actualizador en el valor especificado y devuelve el valor anterior. |
| GetAndUpdate(Object, IUnaryOperator) |
Actualiza de forma atómica (con efectos de memoria especificados por |
| GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| LazySet(Object, Object) |
Finalmente establece el campo del objeto especificado administrado por este actualizador en el valor actualizado especificado. |
| NewUpdater(Class, Class, String) |
Crea y devuelve un actualizador para objetos con el campo especificado. |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| Set(Object, Object) |
Establece el campo del objeto especificado administrado por este actualizador en el valor actualizado especificado. |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| ToArray<T>() |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
| UnregisterFromRuntime() |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| UpdateAndGet(Object, IUnaryOperator) |
Actualiza de forma atómica (con efectos de memoria especificados por |
| Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<>< (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| WeakCompareAndSet(Object, Object, Object) |
Establece de forma atómica el campo del objeto especificado administrado por este actualizador en el valor actualizado especificado si el valor actual es el valor |
Implementaciones de interfaz explícitas
| IJavaPeerable.Disposed() |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| IJavaPeerable.DisposeUnlessReferenced() |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| IJavaPeerable.Finalized() |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| IJavaPeerable.JniManagedPeerState |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
Métodos de extensión
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| GetJniTypeName(IJavaPeerable) |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |