- 2025年05月12日
- 星期一
在 Java中,当我们有两个线程共享以下变量时: int a;volatile int b; 如果线程1执行: a = 5;b = 6; 然后在这两个指令之间插入一个StoreStore屏障,“a”正在刷新回主存储器. 现在如果线程2: if(b == 6) a++; 在其间插入一个LoadLoad屏障,我们保证如果新值’b
在 Java中,当我们有两个线程共享以下变量时: int a;volatile int b; 如果线程1执行: a = 5;b = 6; 然后在这两个指令之间插入一个StoreStore屏障,“a”正在刷新回主存储器. 现在如果线程2: if(b == 6) a++; 在其间插入一个LoadLoad屏障,我们保证如果新值’b