ThreadLocal 的实现原理是什么?
时间: 2023-10-30 12:02:03 浏览: 88
ThreadLocal详解.md
5星 · 资源好评率100%
ThreadLocal 的实现原理是通过 ThreadLocal 对象和每个线程的 ThreadLocalMap 进行关联来实现的。每个线程都有自己的 ThreadLocalMap,该 Map 保存了线程中所有 ThreadLocal 对象和对应的值。当我们调用 ThreadLocal 对象的 get() 方法时,它会先通过 Thread.currentThread() 方法获取当前线程,然后通过该线程获取对应的 ThreadLocalMap。从 ThreadLocalMap 中通过 ThreadLocal 对象获取对应的值。如果 ThreadLocalMap 中没有对应的值,那么就调用 initialValue() 方法进行初始化,并将初始化的值存入 ThreadLocalMap 中。如果当前线程没有 ThreadLocalMap,那么就创建一个并将初始化的值存入其中。因此,每个线程都有自己独立的 ThreadLocalMap,并且可以通过 ThreadLocal 对象获取和设置对应的值。
阅读全文