Rumah  >  Artikel  >  Java  >  Bagaimana untuk menyimpan dan mendapatkan objek java ThreadLocal

Bagaimana untuk menyimpan dan mendapatkan objek java ThreadLocal

PHPz
PHPzke hadapan
2023-04-24 18:13:171282semak imbas

1. Kaedah set 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);
    }

Kaedah set ThreadLocal menunjukkan bahawa dalam struktur ThreadLocal itu sendiri adalah nilai yang disimpan nilai, iaitu, salinan pembolehubah yang disalin oleh ThreadLocal semasa disimpan dalam ThreadLocalMap.

2. ThreadLocal sendiri tidak menyimpan nilai Dalam penggunaan, ThreadLocal digunakan sebagai kunci untuk mendapatkan nilai daripada ThreadLocalMap Ia juga boleh dilihat daripada kaedah get 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();
}

Atas ialah kandungan terperinci Bagaimana untuk menyimpan dan mendapatkan objek java ThreadLocal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam