知灵犀知练
← 返回

Java 并发进阶简答题

线程池中使用 ThreadLocal 为什么要及时 remove?

参考答案

线程池工作线程会被复用,若任务结束后未清理 ThreadLocal,下一个任务可能读到上一个任务的数据,关联对象也可能被线程长期持有。

题目解析

通常在 try/finally 中 remove;ThreadLocal 让值按线程隔离,不会自动解决跨任务传递或所有内存泄漏问题。