Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#6

AW: Probleme mit gleichzeitigem Zugriff auf Variablen

  Alt 8. Sep 2010, 07:48
Gleichzeitig lesend ist oftmals kein Problem (kommt aber auf die Variabel an, denn gleichzeitig einen Stream nutzen ist keine gute Idee).

Sobald man aber gleichzeitig Schreibend oder Schreibend+Lesend zugreifen will, müßte man sowieso absichern.

WinAPI > TRTLCriticalSection/RTL_CRITICAL_SECTION + MSDN-Library durchsuchenEnterCriticalSection
Delphi-CL (SyncObjs) > Delphi-Referenz durchsuchenTCriticalSection
Delphi-CL (SysUtils) > Delphi-Referenz durchsuchenTSimpleRWSync
Delphi-CL (SysUtils) > Delphi-Referenz durchsuchenTMultiReadExclusiveWriteSynchronizer

TSimpleRWSync kann man eigentlich vergessen, da es eigentlich nur eine CriticalSection enthält, aber falls man wenigstens seinen Code aufräumen will und Schreib-/Lesevorgänge entsprechende kennzeichnen will, dann ... nja, dann kann man es doch schonmal nutzen.

TMultiReadExclusiveWriteSynchronizer sollte vorallem Vorteile besitzen, wenn man sehr oft lesend zugreift und nur selten schreibend.
> Mehrere gleichzeitige Lesevorgänge werden erlaubt und bei einem Schreibzugriff wird alles geblockt.
> Aber dieses sollte man natürlich nur nutzen, wenn gleichzeitige Lesevorgänge kein Problem darstellen.

Und falls man ein bissl schreibfaul ist oder sich TMultiReadExclusiveWriteSynchronizer nicht merken kann ... Delphi-Referenz durchsuchenTMREWSync.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat