【发布时间】:2020-04-21 00:42:52
【问题描述】:
我正在声明一个 ThreadLocal 对象并设置如下值。
Public Class Blah {
private ThreadLocal<Set<Integer>> numberThreaLocalObj= new ThreadLocal<>();
void setValue() {
Set<Integer> numberSet = new HashSet<>();
numberSet .add(1);
threaLocalObj.set(numberSet)
}
}
有没有在同一个线程中在这个类之外引用这个 numberThreaLocalObj 变量?
我发现一些代码似乎可以清除所有线程局部变量,但我只需要根据条件清除这个特定的线程局部变量。
很遗憾,这是一种继承的技术设计。
编辑 - 我的回答中概述的解决方案。
【问题讨论】:
标签: java multithreading threadpool thread-local