ThreadLocal Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Cette classe fournit des variables locales 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
- Héritage
- Dérivé
- Attributs
Remarques
Cette classe fournit des variables locales de thread. Ces variables diffèrent de leurs équivalents normaux, car chaque thread qui accède à un thread (via son ou get sa set méthode) a sa propre copie initialisée indépendamment de la variable.
ThreadLocal Les instances sont généralement des champs statiques privés dans des classes qui souhaitent associer l’état à un thread (par exemple, un ID utilisateur ou un ID de transaction).
Par exemple, la classe ci-dessous génère des identificateurs uniques locaux pour chaque thread. L’ID d’un thread est attribué la première fois qu’il appelle ThreadId.get() et reste inchangé lors des appels suivants.
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();
}
}
Chaque thread contient une référence implicite à sa copie d’une variable locale de thread tant que le thread est actif et que l’instance ThreadLocal est accessible ; une fois qu’un thread disparaît, toutes ses copies d’instances locales de thread sont soumises à un garbage collection (sauf si d’autres références à ces copies existent).
Ajouté dans la version 1.2.
Java documentation pour java.lang.ThreadLocal.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Constructeurs
| Nom | Description |
|---|---|
| ThreadLocal() |
Crée une variable locale de thread. |
| ThreadLocal(IntPtr, JniHandleOwnership) |
Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime. |
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
| JniPeerMembers |
Obtient les métadonnées JNI utilisées pour appeler les membres de cet homologue Java. |
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
| ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
Méthodes
| Nom | Description |
|---|---|
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
| Equals(Object) |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| Get() |
Retourne la valeur dans la copie du thread actuel de cette variable locale de thread. |
| GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
| InitialValue() |
Retourne la « valeur initiale » du thread actuel pour cette variable locale de thread. |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| Remove() |
Supprime la valeur du thread actuel pour cette variable locale de thread. |
| Set(Object) |
Définit la copie du thread actuel de cette variable locale de thread sur la valeur spécifiée. |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| WithInitial(ISupplier) |
Crée une variable locale de thread. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
| IJavaPeerable.Finalized() |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Cette classe fournit des variables locales de thread. (Hérité de JavaObject) |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Cette classe fournit des variables locales de thread. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |