我正在使用ThreadLocal
变量(通过 Clojure 的 vars,但以下内容与ThreadLocal
Java 中的普通 s 相同)并且经常遇到我无法确定某个代码路径将在同一个线程上或上采用的问题另一个线程。对于我控制下的代码,这显然不是什么大问题,但对于多态第三方代码,有时甚至没有办法静态确定假设单线程执行是否安全。
我倾向于认为这是ThreadLocal
s 的固有问题,但我想听听一些关于如何以安全方式使用它们的建议。
我正在使用ThreadLocal
变量(通过 Clojure 的 vars,但以下内容与ThreadLocal
Java 中的普通 s 相同)并且经常遇到我无法确定某个代码路径将在同一个线程上或上采用的问题另一个线程。对于我控制下的代码,这显然不是什么大问题,但对于多态第三方代码,有时甚至没有办法静态确定假设单线程执行是否安全。
我倾向于认为这是ThreadLocal
s 的固有问题,但我想听听一些关于如何以安全方式使用它们的建议。