gpt4 book ai didi

java - 变量可以在引用交换时被访问吗?

转载 作者:行者123 更新时间:2023-12-01 17:29:17 24 4
gpt4 key购买 nike

Java:我有共享变量(对象类型),其值将被不同线程频繁更改。通过其他一些线程集从其他方法访问此变量的值,是否会给出任何损坏的值(根本未分配的值)?引用交换时访问变量会不会出现问题???

// this method will be called very frequently
public void changeValue(Object value)
{
this.value = value;
}

// will this method call return an invalid memory reference ?
public Object getValue()
{
return value;
}

最佳答案

将新对象分配给变量是一个原子操作,但如果您不使引用可变,或同步对此引用的访问,或使用 AtomicReference,您将遇到可见性问题并看到过时的值。

关于java - 变量可以在引用交换时被访问吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12602710/

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