在多生产者和多消费者的情况下。如果生产者正在写入
我们都知道:共享资源应该始终受到保护,否则标准无法保证其正常工作。
然而,在缓存一致性架构中,可见性是自动确保的,8、16、32和64位变量的原子性“MOV”操作也是有保证的。
因此,为什么要保护
int a
,而消费者正在从 int a
读取,那么我需要在 int a
周围设置内存屏障吗?我们都知道:共享资源应该始终受到保护,否则标准无法保证其正常工作。
然而,在缓存一致性架构中,可见性是自动确保的,8、16、32和64位变量的原子性“MOV”操作也是有保证的。
因此,为什么要保护
int a
呢?