ThreadLocal是什么
ThreadLocal,也就是线程本地变量。如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个本地拷贝,多个线程操作这个变量的时候,实际是操作自己本地内存里面的变量,从而起到线程隔离的作用,避免了线程安全问题。
ThreadLocal线程副本
- 创建
创建了一个ThreadLoca变量localVariable,任何一个线程都能并发访问localVariable。
//创建一个ThreadLocal变量
public static ThreadLocal<string> localVariable = new ThreadLocal<>();
- 写入
线程可以在任何地方使用localVariable,写入变量。
localVariable.set("test”);
- 读取
线程在任何地方读取的都是它之前写入的变量值,而不会被其他线程的操作影响。
localVariable.get();