我想使用在线程 MyT 中定义的一些可变变量,它在应用程序中扩展了 Java 的 Thread
,用法将是 Thread.currentThread.asInstanceof[MyT]
到引用并更新其中的可变变量。
这会是线程安全的吗?
更新
我使用 scala 编写了一些应用程序,没有考虑多线程问题,并且采用了在对象中使用可变变量的所谓最差实践(因为它对于初学者来说非常容易使用!)。
但现在该项目以某种方式扩展到了 Web 应用程序,我必须处理多线程问题。
我没有时间再次重写代码,将对象中的每个可变变量重构为周围的参数(可能是不使用全局对象可变变量的一种解决方案),所以我正在考虑将对象中的可变变量移动到线程扩展 Thread 类,并重构代码以使用 Thread.currentThread ,然后将实例转换为我的扩展线程类型,然后引用/更新可变变量它们最初是全局可变变量。
这就是我最初的问题。
最佳答案
为此目的使用ThreadLocal:http://java.dzone.com/articles/java-thread-local-%E2%80%93-how-use
关于java - 线程中的可变变量是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15917313/