Lenguaje

ThreadLocal Clase

Definición

Esta clase proporciona variables locales de subproceso.

[Android.Runtime.Register("java/lang/ThreadLocal", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public class ThreadLocal : Java.Lang.Object
[<Android.Runtime.Register("java/lang/ThreadLocal", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type ThreadLocal = class
    inherit Object
Herencia
ThreadLocal
Derivado
Atributos

Comentarios

Esta clase proporciona variables locales de subproceso. Estas variables difieren de sus homólogos normales en que cada subproceso que tiene acceso a uno (a través de su get método o set ) tiene su propia copia inicializada independientemente de la variable. ThreadLocal Las instancias suelen ser campos estáticos privados en clases que desean asociar el estado a un subproceso (por ejemplo, un identificador de usuario o un identificador de transacción).

Por ejemplo, la clase siguiente genera identificadores únicos locales para cada subproceso. El identificador de un subproceso ThreadId.get() se asigna la primera vez que invoca y permanece sin cambios en las llamadas posteriores.

import java.util.concurrent.atomic.AtomicInteger;

            public class ThreadId {
                // Atomic integer containing the next thread ID to be assigned
                private static final AtomicInteger nextId = new AtomicInteger(0);

                // Thread local variable containing each thread's ID
                private static final ThreadLocal&lt;Integer&gt; threadId =
                    new ThreadLocal&lt;Integer&gt;() {
                        &#64;Override protected Integer initialValue() {
                            return nextId.getAndIncrement();
                    }
                };

                // Returns the current thread's unique ID, assigning it if necessary
                public static int get() {
                    return threadId.get();
                }
            }

Cada subproceso contiene una referencia implícita a su copia de una variable local de subproceso siempre que el subproceso esté activo y la ThreadLocal instancia sea accesible; después de que un subproceso desaparezca, todas sus copias de las instancias locales del subproceso están sujetas a la recolección de elementos no utilizados (a menos que existan otras referencias a estas copias).

Agregado en la versión 1.2.

Java documentación para java.lang.ThreadLocal.

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
ThreadLocal()

Crea una variable local de subproceso.

ThreadLocal(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 Objectobjeto .

(Heredado de Object)
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

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)
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
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)
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()

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)
Equals(Object)

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
Get()

Devuelve el valor de la copia del subproceso actual de esta variable local de subproceso.

GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
InitialValue()

Devuelve el "valor inicial" del subproceso actual para esta variable local del subproceso.

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)
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)
Remove()

Quita el valor del subproceso actual para esta variable local del subproceso.

Set(Object)

Establece la copia del subproceso actual de esta variable local de subproceso en el valor especificado.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)
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)
Wait()

Hace que el subproceso actual espere hasta que se despierte, 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)
WithInitial(ISupplier)

Crea una variable local de subproceso.

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Esta clase proporciona variables locales de subproceso.

(Heredado de JavaObject)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Esta clase proporciona variables locales de subproceso.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a