【发布时间】:2009-12-03 14:29:19
【问题描述】:
我正在使用 ThreadLocal 变量(通过 Clojure 的 vars,但以下与 Java 中的普通 ThreadLocals 相同)并且经常遇到我无法确定某个代码路径的问题将在同一个线程或另一个线程上进行。对于我控制的代码,这显然不是什么大问题,但对于多态的第三方代码,有时甚至没有办法静态确定假设单线程执行是否安全。
我倾向于认为这是ThreadLocals 的固有问题,但我想听听一些关于如何安全使用它们的建议。
【问题讨论】:
-
您的代码和具体问题在哪里?
-
如果您的官僚直觉告诉您,请随时将我的问题标记为社区 wiki。
-
我不明白这个问题, ThreadLocal 将与多线程代码一起使用。如果您可以假设单线程执行使用局部变量...
-
我也不明白这个问题。
标签: java concurrency thread-local