gpt4 book ai didi

java - 在处理器类中使用实例变量是否可能导致竞争条件?

转载 作者:行者123 更新时间:2023-12-01 18:09:31 26 4
gpt4 key购买 nike

我将实例变量简单地初始化为 null,并将其设置在处理器类的后续方法中。如果事务使用处理器缓存运行,这是否可能导致竞争条件?

代码类似于

 Object customObject = null;

@Override
public void initialize(anotherCustomerObj anotherCustom) throws Exception{
customObject = anotherCustom.getCustomObject();

}

最佳答案

是的。

假设你有两个线程

主题 1

thing.initialize(foo);  // Operation 1
thing.doSomething(); // Operation 2

主题 2

thing.intialize(bar);   // Operation 3
thing.doSomething(); // Operation 4

假设调度程序按以下顺序安排这些操作:1、3、2、4

操作 2 将在 foobar 上进行操作(该字段不是 volatile 的,因此不能保证更新的可见性)。

关于java - 在处理器类中使用实例变量是否可能导致竞争条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60492654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com