ThreadLocal用于提供线程的局部变量,在多线程环境里,每个线程的局部变量独立于其他线程的局部变量。也就是说 ThreadLocal 可以为每个线程创建一个【单独的变量副本】,相当于线程的 private static 类型变量。
ThreadLocal 的作用和同步机制有些相反:同步机制是为了保证多线程环境下数据的一致性;而 ThreadLocal 是保证了多线程环境下数据的独立性。
举个例子,看代码:
public static void main(String[] args) {
string="main";
threadLocal.set