一些收藏

《笔记》— ThreadLocal

2020-10-21  本文已影响0人  波波维奇c
 static class Entry extends WeakReference<ThreadLocal<?>> {
            /** The value associated with this ThreadLocal. */
            Object value;

            Entry(ThreadLocal<?> k, Object v) {
                super(k);
                value = v;
            }
        }

Entry是ThreadLocalMap的一个静态内部类,这样每个Entry里面就维护了一个ThreadLocal和ThreadLocal泛型对象

  1. ThreadLocal适合用于在不同线程作用域的数据备份.
  2. ThreadLocal机制通过在每个线程维护一个ThreadLocalMap,其中 ThreadLocal为Entry的key, value为ThreadLocal对应的泛型对象,这样每个ThreadLocal就可以作为key将不同的value存储在不同Thread的Map中,当获取数据的时候,同个ThreadLocal就可以在不同线程的Map中得到不同的数据
上一篇下一篇

猜你喜欢

热点阅读