3

如果我有类似这样的代码:

ManualResetEvent me = new ManualResetEvent(false);
. . .
int a = 10;
. . .
me.WaitOne();
. . .

假设a是在 CPU 缓存中赋值后,会调用 WaitOne 将其刷新到 RAM 中吗?

或者(更重要的是)

从 .NET 访问内核同步对象(如 WaitHangle)会导致 CPU 缓存刷新/内存屏障吗?

或者

切换到内核模式是否需要内存屏障?

4

0 回答 0