假设我有一个int
影响类行为的静态。
class A{
public static int classFlag = 0;
private int myFlag = 0;
public void doSomething(){
if(myFlag != classFlag){
myFlag = classFlag:
}
/*myFlag-dependent behaviour*/
}
}
系统中只有一个线程发生了变化classFlag
,并且/*myFlag-dependent behaviour*/
不需要classFlag
所有线程立即看到更新。
因此,我想保留classFlag
非易失性以避免引入昂贵且完全不必要的内存屏障。
我可以依靠更新来classFlag
最终可见吗?