挥发物,记忆障碍和在.NET中缓存一致性?

时间:2018-05-11 05:57:13

标签: .net caching volatile

通过C#读取Richter的CLR,SO和habr上的一些线程,以及MSI / MESI / MOESI /等上的wiki,我仍然不明白:
如果处理器已经具有缓存一致性协议,为什么还需要Thread.MemoryBarriervolatile?这是否意味着对缓存的共享变量的任何读/写操作都会调用它在缓存之间的值的同步?
如果不是,那么Interlocked是否有助于强制缓存一致性? 编辑:问题的原因是我正在处理应用程序,该应用程序旨在与一堆后台线程一起工作,这些线程应该在某些标志更新时安全退出,但如果我理解正确,我应该使用MemoryBarrier / Interlocked声明包围标记 提前谢谢。

0 个答案:

没有答案