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.
Java documentación para java.util.concurrent.atomic.AtomicReferenceFieldUpdater.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| 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
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| JniPeerMembers |
Obtiene los metadatos de JNI usados para invocar miembros de este Java del mismo nivel. |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| 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
| Nombre | Description |
|---|---|
| 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 |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| Equals(Object) |
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() |
Obsoletos.
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) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Utilidad basada en reflexión que permite las actualizaciones atómicas a campos de referencia designados |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| 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
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
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.JniObjectReferenceControlBlock |
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
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerció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 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |