threadlocal 同一个线程池多次set会覆盖,被覆盖的会被gc?
时间: 2023-10-28 15:43:43 浏览: 268
Java中的线程同步与ThreadLocal无锁化线程封闭实现
对,每个线程都有自己的ThreadLocalMap,其中存储了该线程所有的ThreadLocal变量以及对应的值。当ThreadLocal变量被设置时,实际上是向当前线程的ThreadLocalMap中存储值。如果同一个线程池多次set同一个ThreadLocal变量,后面的值会覆盖前面的值。当ThreadLocal变量所对应的线程结束后,如果ThreadLocal变量没有被其他地方引用,则会被垃圾回收。
阅读全文