Thread.MemoryBarrier メソッド


メモリ アクセスを次のように同期します。現在のスレッドを実行中のプロセッサは、MemoryBarrier() を呼び出す前のメモリ アクセスを MemoryBarrier() の呼び出し後のメモリ アクセスの後に実行するように命令を並べ替えることはできません。Synchronizes memory access as follows: The processor executing the current thread cannot reorder instructions in such a way that memory accesses prior to the call to MemoryBarrier() execute after memory accesses that follow the call to MemoryBarrier().

 static void MemoryBarrier();
public static void MemoryBarrier ();
static member MemoryBarrier : unit -> unit
Public Shared Sub MemoryBarrier ()


MemoryBarrier は、メモリの順序が脆弱なマルチプロセッサシステム (たとえば、複数の Intel Itanium プロセッサを使用するシステム) でのみ必要です。MemoryBarrier is required only on multiprocessor systems with weak memory ordering (for example, a system employing multiple Intel Itanium processors).

ほとんどの場合、 C# lock ステートメント、Visual Basic SyncLock ステートメント、または Monitor クラスを使用すると、簡単にデータを同期できます。For most purposes, the C# lock statement, the Visual Basic SyncLock statement, or the Monitor class provide easier ways to synchronize data.