3

私がこれに似たコードを持っている場合:

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

a割り当て後にCPUキャッシュにあると仮定すると、WaitOneを呼び出してRAMにフラッシュしますか?

または(より重要なことに)

.NETからカーネル同期オブジェクト(WaitHangleなど)にアクセスすると、CPUキャッシュフラッシュ/メモリバリアが発生しますか?

または

カーネルモードへの切り替えにはメモリバリアが必要ですか?

4

0 に答える 0