gpt4 book ai didi

c# - 为什么 volatile 还不够?

转载 作者:太空狗 更新时间:2023-10-29 17:34:44 25 4
gpt4 key购买 nike

我很困惑。回答我的previous question似乎证实了我的假设。但如前所述here volatile 不足以确保 .Net 中的原子性。 MSIL 中的递增和赋值等操作不会直接转换为单个本地操作码,或者许多 CPU 可以同时读取和写入同一 RAM 位置。

澄清一下:

  1. 我想知道写入和读取在多个 CPU 上是否是原子的?
  2. 我了解 volatile 的含义。但这就够了吗?如果我想获得其他 CPU 写入的最新值,是否需要使用联锁操作?

最佳答案

Herb Sutter 最近写了一篇关于 volatile 及其在原生 C++ 中的真正含义(它如何影响内存访问顺序和原子性)的文章。 .NET 和 Java 环境。这是一本非常好的读物:

关于c# - 为什么 volatile 还不够?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/517070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com