Windowsのプロセス間で共有しているデータ構造がいくつかあります。(これらすべてのプロセスによってロードされるDLLの共有データセグメントを介して。)
一部のアクセスを同期する必要があり、Win32Mutexを使用した場合のパフォーマンスへの影響はコストがかかりすぎると測定しました。
CRITICAL_SECTION
一部の高度な機能のため、共有メモリに入れることはできません。
Interlocked*
これにより、Win32の関数ファミリに直接基づく単純なロック/ミューテックスソリューションが必要になります。
自分でロールする前に、軽量で高速で、複数のプロセスの共有メモリで動作するという要件を処理する堅牢な実装があるかどうかを確認したいと思いますが、これは私にとっては少し難しいことのようです。(そして、とにかく、CodeProjectはヒットしますが、それがおもちゃのコードなのか「堅牢」なのかを判断するのは難しいことがよくあります。)
したがって、私が必要とするのは、Windowsの共有メモリに配置されたときに複数のプロセスで機能するユーザーモードの再帰ミューテックスと呼ばれる可能性があります(ロック部分のみを節約して処理する必要があることに注意してください。初期化)。