@Service
public class InfoService {
private Info currentInfo;
public void initInfo(String data) {
currentInfo = new Info(data);
}
//blarblar...
}
如果这不是线程安全的,我的服务方法应该更改为将“currentInfo”作为其参数。 我不想制作重复的参数代码,所以我把它作为服务的成员变量。 当然,这段代码对我很有效,但我担心这可能是线程危险。
“currentInfo”可能是线程危险吗?
答案 0 :(得分:3)
初始化之后你会有这个类的单例实例,现在想象两个线程都引用了这个对象,
thread-1:
设置currentInfo并开始根据它计算某些内容(我假设您在其他计算中使用它//blarblar...
)
thread-2:
在thred-1开始使用它之后,同时thread-2重置它