Permasalahan preservasi objek selalu menjadi perhatian kami ketika melakukan program penelitian. Operasi yang sama juga ada di ThreadLocal, kita dapat menyimpan dan mengambil objek. Hal ini memerlukan pemahaman tertentu tentang ThreadLocal dan penggunaan metode setnya. Di bawah ini kami akan menjelaskan langkah-langkah pengoperasian lengkap penyimpanan dan akuisisi ThreadLocal, dan membagikan konten spesifiknya kepada Anda.
1. Metode set ThreadLocal
set kekosongan publik (nilai T) { Thread t = Thread.currentThread(); Peta ThreadLocalMap = getMap(t); jika (peta!= null) map.set(ini, nilai); kalau tidak buatPeta(t, nilai); }
Melalui metode set ThreadLocal, kita dapat melihat bahwa dalam struktur <k, v> ThreadLocalMap, kuncinya menyimpan ThreadLocal itu sendiri, dan nilainya adalah nilai sebenarnya yang disimpan ThreadLocal saat ini disimpan di ThreadLocalMap.
2. ThreadLocal sendiri tidak menyimpan nilai. Dalam penggunaannya, ThreadLocal digunakan sebagai kunci untuk mendapatkan nilai dari ThreadLocalMap. Hal ini juga dapat dilihat dari metode get ThreadLocal:
publik T dapatkan() { Thread t = Thread.currentThread(); Peta ThreadLocalMap = getMap(t); jika (peta != null) { ThreadLocalMap.Entry e = map.getEntry(ini); jika (e != nol) { @SuppressWarnings("tidak dicentang") T hasil = (T)e.nilai; hasil pengembalian; } } kembalikan setInitialValue(); }
Di atas adalah penyimpanan objek dan akuisisi java ThreadLocal. Kuncinya adalah menguasai penggunaan set. Jika Anda belum cukup mahir dalam metode ini, Anda harus berlatih lebih banyak setelah kelas selesai.