Das Thema Objekterhaltung war für uns bei der Programmforschung schon immer ein Anliegen. Die gleiche Operation gibt es auch in ThreadLocal, wir können Objekte speichern und abrufen. Dies erfordert ein gewisses Verständnis von ThreadLocal und der Verwendung seiner Set-Methode. Im Folgenden erläutern wir die vollständigen Betriebsschritte der ThreadLocal-Speicherung und -Erfassung und teilen den spezifischen Inhalt mit Ihnen.
1. Die Set-Methode von ThreadLocal
public void set(T value) { Thread t = Thread.currentThread(); ThreadLocalMap map = getMap(t); if (map != null) map.set(this, value); anders createMap(t, value); }
Durch die Set-Methode von ThreadLocal können wir sehen, dass in der <k, v>-Struktur von ThreadLocalMap der Schlüssel den ThreadLocal selbst speichert und der Wert der tatsächlich gespeicherte Wert ist. Mit anderen Worten, eine Kopie der von der kopierten Variablen Das aktuelle ThreadLocal wird in der ThreadLocalMap gespeichert.
2. ThreadLocal selbst speichert keine Werte. ThreadLocal wird als Schlüssel verwendet, um den Wert von ThreadLocalMap abzurufen. Dies ist auch aus der get-Methode von ThreadLocal ersichtlich.
öffentliches T get() { Thread t = Thread.currentThread(); ThreadLocalMap map = getMap(t); if (map != null) { ThreadLocalMap.Entry e = map.getEntry(this); if (e != null) { @SuppressWarnings("ungeprüft") T result = (T)e.value; Ergebnis zurückgeben; } } return setInitialValue(); }
Das Obige ist die Objektspeicherung und -erfassung von Java ThreadLocal. Der Schlüssel liegt darin, die Verwendung von set zu beherrschen. Wenn Sie diese Methode nicht ausreichend beherrschen, müssen Sie nach dem Unterricht noch mehr üben.