Frage

Wenn die Anwendung auf Windows Vista ausgerichtet ist oder später, könnten wir alle kritische Abschnitte mit SRW Schlösser ? Da kritische Abschnitt gegenseitig ausschließen, für die Nutzung ist es im exklusiven Modus zu SRW Schlössern gleichwertig, nicht wahr? Laut MSDN wird SRW sowohl für die Geschwindigkeit und Raum optimiert. Gibt es einen Nachteil, dies zu tun? Ich bin sicher nicht, wie CS und SRW werden intern von Microsoft implementiert.

Danke!

War es hilfreich?

Lösung

Siehe Joe Duffy Buch "Concurrent Programming Windows", S. 289.

Die kurze Antwort auf Ihre Frage ist „fast“. Es gibt Semantik mit rekursiv CRITICAL_SECTION der erworbenen, die für SRWL des unterschiedlich sind. Wenn Ihr Programm die Vorteile dieser Eigenschaften von Win32 kritische Abschnitte nahm, dann können Sie nicht Großhandel Schalter auf SRWL leicht. Sie könnte jedoch eine SRWL in einem Wrapper wickeln CS wie Semantik zur Verfügung zu stellen, aber es gibt eine Reihe von Feinheiten dabei, so dass Sie besser dran zu CS des kleben, wenn Sie auf ein solches Verhalten abhängig.

Kenny Kerr Artikel ein wenig über beschrieben, wie sowohl intern umgesetzt werden .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top