Maison > Java > javaDidacticiel > Comment stocker et obtenir des objets Java ThreadLocal

Comment stocker et obtenir des objets Java ThreadLocal

PHPz
Libérer: 2023-04-24 18:13:17
avant
1318 Les gens l'ont consulté

1. Méthode set de ThreadLocal

    public void set(T value) {
        Thread t = Thread.currentThread();
        ThreadLocalMap map = getMap(t);
        if (map != null)
            map.set(this, value);
        else
            createMap(t, value);
    }
Copier après la connexion

La méthode set de ThreadLocal montre que dans la structure de ThreadLocal, la clé stocke le ThreadLocal lui-même et la valeur est la valeur réelle stockée, c'est-à-dire une copie de la variable copiée par le ThreadLocal actuel est stockée dans ThreadLocalMap.

2. ThreadLocal lui-même ne stocke pas les valeurs. En cours d'utilisation, ThreadLocal est utilisé comme clé pour obtenir la valeur de ThreadLocalMap. Cela peut également être vu à partir de la méthode get de ThreadLocal :

    public T get() {
        Thread t = Thread.currentThread();
        ThreadLocalMap map = getMap(t);
        if (map != null) {
            ThreadLocalMap.Entry e = map.getEntry(this);
            if (e != null) {
                @SuppressWarnings("unchecked")
                T result = (T)e.value;
                return result;
            }
        }
        return setInitialValue();
}
Copier après la connexion
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal