ThreadLocal提供的方法:
public
T get() { }
public
void
set(T value) { }
public
void
remove() { }
protected
T initialValue() { }
get() 获取ThreadLocal在当前线程中保存的变量的副本
set() 设置ThreadLocal在当前线程中保存的变量的副本的值
remove() 删除值
initialValue() 获取值
ThreadLocal的主要存储数据的是 ThreadLocal 的 ThreadLocalMap这个内部类
其键是,当前线程里面的 ThreadLocal 对象(看源码可以知道)
实际的通过ThreadLocal创建的副本是存储在每个线程自己的threadLocals中的;
本人文笔不好,也愚笨,精彩的源码讲解请移步:https://www.cnblogs.com/dolphin0520/p/3920407.html
此处放个例子:
public class ThreadLocalExample {
// jdk建议将 ThreadLocal 定义为 private stati