La question de la préservation des objets a toujours été une préoccupation pour nous lorsque nous effectuons des recherches sur les programmes. La même opération existe également dans ThreadLocal, on peut stocker et récupérer des objets. Cela nécessite une certaine compréhension de ThreadLocal et l'utilisation de sa méthode set. Ci-dessous, nous expliquerons les étapes de fonctionnement complètes du stockage et de l'acquisition ThreadLocal et partagerons le contenu spécifique avec vous.
1. Méthode set de ThreadLocal
ensemble vide public (valeur T) { Fil t = Thread.currentThread(); Carte ThreadLocalMap = getMap(t); si (carte != null) map.set(this, valeur); autre createMap(t, valeur); }
Grâce à la méthode set de ThreadLocal, nous pouvons voir que dans la structure <k, v> de ThreadLocalMap, la clé stocke le ThreadLocal lui-même et la valeur est la valeur réelle stockée, en d'autres termes, une copie de la variable copiée par le. le ThreadLocal actuel est stocké dans le ThreadLocalMap .
2. ThreadLocal lui-même ne stocke pas les valeurs. Lors de son 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 obtenir() { Fil t = Thread.currentThread(); Carte ThreadLocalMap = getMap(t); si (carte != null) { ThreadLocalMap.Entry e = map.getEntry(this); si (e != nul) { @SuppressWarnings("non coché") T résultat = (T)e.value ; renvoyer le résultat ; } } return setInitialValue(); }
Ce qui précède est le stockage d'objets et l'acquisition de Java ThreadLocal. La clé est de maîtriser l'utilisation de set. Si vous ne maîtrisez pas suffisamment cette méthode, vous devez pratiquer davantage après les cours.