程序员

ThreadLocal

2020-12-13  本文已影响0人  Travis_Wu

一、ThreadLocal 适合用在哪些实际生产的场景中

二、ThreadLocal 是用来解决共享资源的多线程访问的问题吗

  1. 不是,ThreadLocal 并不是用来解决共享资源问题的。虽然 ThreadLocal 确实可以用于解决多线程情况下的线程安全问题,但其资源并不是共享的,而是每个线程独享的。
  2. ThreadLocal 解决线程安全问题的时候,相比于使用“锁”而言,换了一个思路,把资源变成了各线程独享的资源,非常巧妙地避免了同步操作。具体而言,它可以在 initialValue 中 new 出自己线程独享的资源,而多个线程之间,它们所访问的对象本身是不共享的,自然就不存在任何并发问题。这是 ThreadLocal 解决并发问题的最主要思路。

三、多个 ThreadLocal 在 Thread 中的 threadlocals 里是怎么存储的

四、内存泄漏——为何每次用完 ThreadLocal 都要调用 remove()

上一篇 下一篇

猜你喜欢

热点阅读