メモリバリアー

マルチスレッドがらみでメモリバリアーを調べていて、_ReadWriteBarrier()なんてものを知ったのですが、Visual C++ .NET 2003からの機能でした。

Visual C++ .NET 2003 の新機能

C++ コンパイラ、C++ 言語、およびリンカ

  • _ReadWriteBarrier の組み込みが追加されました。

Visual C++ 6.0でも_ReadWriteBarrier()が使えるようにして欲しいところですが、コンパイラの最適化ルーチンにいくらか手を加える必要があるでしょうから、今更そんな面倒なことしないでしょうねえ……。古いアプリケーションでもありますし……。


おまけ。
.NET FrameworkのThread.MemoryBarrier」
ITmedia エンタープライズ:特集:スレッドの落とし穴 (4/6)

 ここで使ったThread.MemoryBarrierメソッドは、Visual Studio .NET 2003と共に出荷された.NET 1.1の新機能であるため、Visual Studio .NET 2002では使えない。.NET 1.0でも実行可能にする解答は、次のようになる。

こちらも、Visual Studio .NET 2003からですか。