【问题标题】:Interlocked*64 on WinXP 32bitWinXP 32bit 上互锁*64
【发布时间】:2010-01-01 22:40:36
【问题描述】:

我应该如何在 WinXP 上实现这些 64 位互锁功能?当然我可以使用完整的互斥锁,但我认为它对于这项任务来说是不必要的重量级。一定有更好的办法。

【问题讨论】:

    标签: c++ winapi visual-c++


    【解决方案1】:

    你不应该。这比你想象的要复杂得多。

    如果您坚持,最好的办法是使用关键部分来确保您获得正确的障碍。

    如果您真的认为关键部分太重,请阅读memory barriers

    【讨论】:

      【解决方案2】:

      无需重新发明轮子。只需使用关键部分。如果您担心联锁的性能,解决方案是设计程序以减少争用,而不是将联锁操作缩短纳秒。

      【讨论】:

        【解决方案3】:

        您也可以使用intrinsics,它可能比使用临界区更简单、更快捷。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-05
          • 2010-11-07
          • 2010-09-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-22
          • 2014-02-19
          相关资源
          最近更新 更多