ThreadLocal类提供了线程局部(thread-local)变量。这些变量与普通变量不同,每个线程都可以通过其get或set方法来访问自己的独立初始化的变量副本。ThreadLocal实例通常是类中的privatestatic字段,它们希望将状态与某一个线程(例如,用户ID或事务ID)相关联。image.pngThreadLocal的源码分析Thread类中有个变量threadLocals,类型为ThreadLocal.ThreadLocalMap,这个就是保存每个线程的私有数据。publicclassThreadimplementsRunnable{ThreadLocal.Thread