java - Spring : Is this member variable thread-safe?

标签 java spring thread-safety

@Service    
public class InfoService {
    private Info currentInfo;

    public void initInfo(String data) {
        currentInfo = new Info(data);
    }

    //blarblar...
}

如果这不是线程安全的,我的服务方法应该更改为将“currentInfo”作为其参数。 我不想做重复的参数代码,所以我把它作为服务的成员变量。 当然,这段代码对我来说完美无缺,但我担心这可能会导致线程危险。

“currentInfo”可能是线程危险的?

最佳答案

初始化后你会得到这个类的单例实例,现在假设两个线程引用了这个对象,

thread-1: 设置 currentInfo 并开始计算基于它的东西(我假设你在其他计算中用你的 //blarblar...)

thread-2:thread-1开始使用后thread-2重置

关于java - Spring : Is this member variable thread-safe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20876838/

相关文章:

java - while 循环的问题

java - JAVA如何通过手工编码制作GUI?

java - 如何嵌套 Spring JMS MessageConverters

c# - 如何以线程安全的方式更新控件

java - 如何格式化 Java 中 TreeMap 中的字符串列表以这种方式打印?

java - Jenkins 将浏览器 URL 作为 Maven Selenium Java 测试的参数传递

java - Spring REST API 服务单元测试(更新(PUT 方法))

java - struts2 + spring MVC的ServletActionContext

java - 如果两个线程连接在一起并且其中一个由于某种原因中止,会发生什么

java - 抽象 Servlet - 这个方法是线程安全的吗?