Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Thread sichere Datenabfrage

  Alt 29. Okt 2020, 19:10
Statt CriticalSection gibt es seit 'ner Weile auch TMonitor.
(Achtung, nicht das TMonitor aus TScreens sondern aus System ... ja, ich weiß der Name ist doof/irrsinnig/verwirrend, aber wenn jemand strunzdoof von C# klaut kopiert, dann kommt sowas bei raus)

Die TMonitor können an ALLE TObjekt angehängt werden.
Besonders geil, weil man so keine Extra-Variable braucht und es sogar ohne Umbauten an Fremdkomponenten nutzen kann (z.B. an einer TStringList).

Delphi-Quellcode:
TMonitor.Enter(MyList); // siehe auch TryEnter/Wait/Pulse und der Timeout im Parameter
try

finally
  TMonitor.Exit(MyList);
end;
Statt TMonitor.Enter geht auch MonitorEnter

und könnte man sich auch selbst via ClassHelper als Methoden an TObject/TMyList/... hängen.
Delphi-Quellcode:
MyList.Enter; // oder z.B. Lock und Unlock
try

finally
  MyList.Exit;
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (29. Okt 2020 um 19:15 Uhr)
  Mit Zitat antworten Zitat