質問

アプリケーションがWindowsVista以降でターゲットにされている場合、すべてを交換できますか 重要なセクションSRWロック?クリティカルセクションは相互に排他的であるため、使用するためには排他的なモードでのSRWロックと同等ですよね? MSDNによると、SRWは速度と空間の両方で最適化されています。これを行うための欠点はありますか? CSとSRWがMicrosoftによって内部的にどのように実装されているかはわかりません。

ありがとう!

役に立ちましたか?

解決

Joe Duffyの本「Windows On WindowsのConcurrentプログラミング」、pg 289を参照してください。

あなたの質問に対する短い答えは「ほぼ」です。 SRWLとは異なる再帰的に取得されたCritical_Sectionのセマンティクスがあります。プログラムがWin32の重要なセクションのこれらの特性を利用した場合、SRWLに簡単に卸売りを切り替えることはできません。ただし、セマンティクスのようなCSを提供するためにラッパーでSRWLをラップすることもできますが、そうすることにはたくさんの微妙さがありますので、そのような動作に依存している場合はCSにこだわる方が良いでしょう。

ケニー・カーの記事 両方が内部でどのように実装されるかについて少し説明しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top