ThreadLocal Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questa classe fornisce variabili thread-local.
[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
- Ereditarietà
- Derivato
- Attributi
Commenti
Questa classe fornisce variabili thread-local. Queste variabili differiscono dalle controparti normali in quanto ogni thread che accede a uno (tramite il relativo get metodo) set ha una propria copia inizializzata indipendente della variabile.
ThreadLocal Le istanze sono in genere campi statici privati nelle classi che desiderano associare lo stato a un thread ,ad esempio un ID utente o UN ID transazione.
Ad esempio, la classe seguente genera identificatori univoci locali per ogni thread. All'ID di un thread viene assegnato la prima volta che richiama ThreadId.get() e rimane invariato nelle chiamate successive.
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<Integer> threadId =
new ThreadLocal<Integer>() {
@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();
}
}
Ogni thread contiene un riferimento implicito alla copia di una variabile locale del thread, purché il thread sia attivo e l'istanza ThreadLocal sia accessibile. Dopo che un thread viene eliminato, tutte le relative copie di istanze locali del thread sono soggette a Garbage Collection (a meno che non esistano altri riferimenti a queste copie).
Aggiunta nella versione 1.2.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Costruttori
| Nome | Descrizione |
|---|---|
| ThreadLocal() |
Crea una variabile locale del thread. |
| ThreadLocal(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniManagedPeerState |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
| JniPeerMembers |
Ottiene i metadati JNI usati per richiamare i membri di questo peer Java. |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
| Nome | Descrizione |
|---|---|
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| DisposeUnlessReferenced() |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
| Equals(Object) |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| Get() |
Restituisce il valore nella copia del thread corrente di questa variabile thread-local. |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| InitialValue() |
Restituisce il "valore iniziale" del thread corrente per questa variabile thread-local. |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| Remove() |
Rimuove il valore del thread corrente per questa variabile thread-local. |
| Set(Object) |
Imposta la copia del thread corrente di questa variabile thread-local sul valore specificato. |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| WithInitial(ISupplier) |
Crea una variabile locale del thread. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
| IJavaPeerable.Finalized() |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Questa classe fornisce variabili thread-local. (Ereditato da JavaObject) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Questa classe fornisce variabili thread-local. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |