用户工具


ThreadLocal常用于多个线程访问同一个对象时,每个线程保存一个那个对象的副本,在线程间互不影响。主要依赖Thread 类中的map类型变量来实现

存储格式如下

  • Thread
    • map<key=ThreadLocal ,value = 值>

所以每个线程取各自map中的对应的ThreadLocal变量的值,这样就可以做到线程间互不影响

感觉没有什么好处,因为ThreadLocal变量也要传递到每个线程中,那为什么不可以直接将目标对象的副本传递过去呢?