【问题标题】:Timing of memory caches coherency after memory barrier and after Interlocked operations内存屏障后和互锁操作后内存缓存一致性的时序
【发布时间】:2014-07-17 11:13:09
【问题描述】:

在互锁操作和调用内存屏障之后,内存缓存一致性(或“刷新”)的时间是否存在差异?让我们在 C# 中考虑 - 使用任何互锁操作与 Thread.MemoryBarrier() - 生成的内存缓存刷新行为是否相同?

我相信是有区别的。我正在解决一个似乎是由内存屏障后延迟刷新引起的业务案例(我们替换为互锁操作)。还有很多信息来源(包括wikipedia)表明内存屏障并不能保证操作的时间。

如果有兴趣,我可以链接更多参考资料或添加示例代码 sn-p,但最初我想保持问题简短(因为我的 original question to this topic 中的信息过多而被否决)

【问题讨论】:

    标签: c# multithreading caching memory-barriers interlocked


    【解决方案1】:

    正如 original question 中的回答:CAS(联锁)操作已经(并且很可能是)最快的缓存刷新器。

    【讨论】:

      猜你喜欢
      • 2014-09-03
      • 1970-01-01
      • 2015-09-06
      • 2014-09-11
      • 2020-03-18
      • 2017-08-02
      • 2012-07-02
      • 2015-04-28
      • 2017-10-28
      相关资源
      最近更新 更多