Java多线程与并发之ThreadLocal

Java多线程与并发之ThreadLocal


1. ThreadLocal是什么?使用场景

ThreadLocal简介

ThreadLocal是线程本地变量 , 可以为多线程的并发问题提供一种解决方式 , 当使用ThreadLocal维护变量时 , ThreadLocal为每个使用该变量的线程提供独立的变量副本 , 所以每一个线程都可以独立地改变自己的副本 , 而不会影响其它线程所对应的副本 。

ThreadLocal使用场景

多个线程去获取一个共享变量时 , 要求获取的是这个变量的初始值的副本 。 每个线程存储这个变量的副本 , 对这个变量副本的改变不去影响变量本身 。 适用于多个线程依赖不同变量值完成操作的场景 。 比如: