私がこれに似たコードを持っている場合:
ManualResetEvent me = new ManualResetEvent(false);
. . .
int a = 10;
. . .
me.WaitOne();
. . .
a
割り当て後にCPUキャッシュにあると仮定すると、WaitOneを呼び出してRAMにフラッシュしますか?
または(より重要なことに)
.NETからカーネル同期オブジェクト(WaitHangleなど)にアクセスすると、CPUキャッシュフラッシュ/メモリバリアが発生しますか?
または
カーネルモードへの切り替えにはメモリバリアが必要ですか?