Java.lang.ThreadLocal 的getMap(Thread t)方法

ThreadLocalMap的内部有一个getMap(Thread t)方法

ThreadLocalMap getMap(Thread t) {return t.threadLocals;}

为何这里可以直接访问Thread的内部变量ThreadLocal 十分不理解,因为从源码来看Thread和ThreadLocal在类的关系上是没有任何关系的,为何可以直接这样访问,望大神解答

阅读 3k
1 个回答

Thread类中声明是这样的

/* ThreadLocal values pertaining to this thread. This map is maintained
     * by the ThreadLocal class. */
    ThreadLocal.ThreadLocalMap threadLocals = null;

注释说的很清楚了,Thread中保存了ThreadLocalMap这个东西。所以你getMap传入一个Thread,肯定能访问到那个ThreadLocalMap

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题