ThreadLocal 是 Java 提供的一个类,用于创建线程局部变量,每个线程都有自己独立的变量副本。线程之间互不干扰。
ThreadLocal 的实现通过 ThreadLocalMap 实现线程局部存储;
常用于存储线程范围内的对象,比如用户会话信息等,这些对象在不同线程中是隔离的。
ThreadLocal有四个方法
initialValue()方法 :返回此线程局部变量初始值
get()方法:
set()方法:
remove()方法 :
当调用 ThreadLocal.set(value) 时,ThreadLocal 实例会将值存储到当前线程的 ThreadLocalMap 中。
当调用 ThreadLocal.get() 时,ThreadLocal 实例会从当前线程的 ThreadLocalMap 中检索存储的值。
(需要注意内存泄漏问题,在使用完 ThreadLocal 实例后,应该调用 remove() 方法清理线程局部变量)