Einzelnen Beitrag anzeigen

Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#3

Re: TMultiReadExclusiveWriteSynchronizer mit Speicher verknü

  Alt 31. Aug 2005, 13:05
Naja, das ist "relativ" einfach.
Du erzeugst ein globales TMultiReadExclusiveWriteSynchronizer - Objekt. Wenn du an eine Stelle kommst, an der sensible Daten geschrieben oder gelesen werden, müssen alle dein Threads die [Begin|End][Read|Write] - Prozeduren des obigen Objektes nutzen. Dadurch geschieht das, was in der Hilfe wie folgt beschrieben wird:
Zitat:
BeginRead muss vor einem Lesezugriff auf den durch TMultiReadExclusiveWriteSynchronizer geschützten Speicher aufgerufen werden. Die Rückkehr von BeginRead erfolgt erst, wenn kein anderer Thread einen Schreibzugriff auf den Speicher ausführt. Nach dem Aufruf von BeginRead können andere Threads weiterhin Lesezugriffe auf den Speicher ausführen. Ein Thread, der durch einen Aufruf der Methode BeginWrite einen Schreibzugriff auf den Speicher anfordert, muss warten, bis alle lesenden Threads EndRead aufgerufen haben.
... usw.

//edit: ach mist ... zu langsam
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat