Java多线程与并发之ThreadLocal( 五 )

3.2 get()源码分析

public T get() {    //获取当前线程         Thread t = Thread.currentThread();    //获取当前线程的ThreadLocalMap         ThreadLocalMap map = getMap(t);         if (map != null) {             //如果ThreadLocalMap已经被创建了 , 那么通过当前的threadLocal对象作为key , 获取value             ThreadLocalMap.Entry e = map.getEntry(this);             if (e != null) {                 @SuppressWarnings(\"unchecked\")                 T result = (T)e.value;                 return result;                        //如果ThreadLocalMap还没有被创建或者在ThreadLocalMap中查找不到此元素         return setInitialValue();    

推荐阅读