ThreadLocal Classe

Definição

Essa classe fornece variáveis locais de thread.

[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
Herança
ThreadLocal
Derivado
Atributos

Comentários

Essa classe fornece variáveis locais de thread. Essas variáveis diferem de seus equivalentes normais, uma vez que cada thread que acessa um (por meio de seu get método set ) tem sua própria cópia inicializada independentemente da variável. ThreadLocal normalmente, as instâncias são campos estáticos privados em classes que desejam associar o estado a um thread (por exemplo, uma ID de usuário ou ID de transação).

Por exemplo, a classe abaixo gera identificadores exclusivos locais para cada thread. A ID de um thread é atribuída na primeira vez que ele invoca ThreadId.get() e permanece inalterado nas chamadas subsequentes.

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 thread contém uma referência implícita à sua cópia de uma variável local de thread, desde que o thread esteja ativo e a ThreadLocal instância esteja acessível; depois que um thread desaparecer, todas as suas cópias de instâncias locais de thread estão sujeitas à coleta de lixo (a menos que outras referências a essas cópias existam).

Adicionado em 1.2.

Documentação Java para java.lang.ThreadLocal.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Construtores

Nome Description
ThreadLocal()

Cria uma variável local de thread.

ThreadLocal(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime.

Propriedades

Nome Description
Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)
JniPeerMembers

Obtém os metadados JNI usados para invocar membros desse par Java.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Nome Description
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)
Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)
Equals(Object)

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
Get()

Retorna o valor na cópia do thread atual dessa variável thread-local.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
InitialValue()

Retorna o "valor inicial" do thread atual para essa variável local de thread.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
Remove()

Remove o valor do thread atual para essa variável local de thread.

Set(Object)

Define a cópia do thread atual dessa variável local de thread para o valor especificado.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)
ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<>

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
WithInitial(ISupplier)

Cria uma variável local de thread.

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Essa classe fornece variáveis locais de thread.

(Herdado de JavaObject)

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Essa classe fornece variáveis locais de thread.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a