Einzelnen Beitrag anzeigen

Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

AW: LeaveCriticalSection: Warum das nachfolgenden sleep(0)?

  Alt 24. Apr 2015, 15:47
Nachdem LeaveCriticalSection ausgeführt wurde, habe ich keinen sofortigen (Lese-)Zugriff auf z.B. eine Variable, die innerhalb einer CriticalSection verändert wurde.
Das solltest du mal genauer beschreiben. Außerhalb der CS solltest du nicht auf Daten zugreifen, die mit der CS geschützt sind. Da ist irgendetwas faul.
Das Sleep hilft, könnte aus der Hüfte geschossen an Timing-Effekten oder an eventuellen Speicherbarrieren beim Suspendieren des Threads liegen.

Mich würde ein minimales Beispiel interessieren, wo es ohne Sleep schief geht.
  Mit Zitat antworten Zitat