我有一个关于 Java“ volatile ”关键字的问题:
假设,我们有以下类:
public class BooleanValClass {
private boolean bolVal = false;
public boolean getVal() {
return this.bolVal;
}
public void setVal(boolean val) {
bolVal = val;
}
}
现在,假设一个线程正在使用带有“ volatile ”关键字的此类:
private volatile BooleanValClass myClass = new BooleanValClass();
我是否还必须将“ volatile ”关键字附加到类“BooleanValClass”的成员字段“bolVal”,或者对象引用的“ volatile ”是否以某种“重定向”到类“BooleanValClass”的所有成员“?
谢谢, 汤姆
最佳答案
没有任何内容被重定向。 myClass
是 volatile 的,bolVal
则不是。 myClass
的赋值和读取工作是不稳定的。对 bolVal
的赋值/读取不会。
关于类成员变量需要 Java "volatile"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24160405/