ThreadLocal解决了什么问题?内部源码是怎么样的?
解决线程安全问题,为每个线程创建一个变量副本,实现在线程的上下文传递同一个对象,比如connection。
ThreadLocal使用get()、set()方法实现
1、证明ThreadLocal为每个线程创建一个变量副本
public class ThreadLocalTest {
private static ThreadLocal<Long> threadLocal = new ThreadLocal<>();
public static void main(String[] args) throws InterruptedException {
//开启多个线程来执行任务
Task task = new Task();
new Thread(task).start();
Thread.sleep(10);
new Thread(task).start();
}
static class Task