Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
29. Okt 2020
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...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
29. Okt 2020
Überall muß um alles, was auf diese Variablen zugreift, die selbe CriticalSection (oder Ähnliches, z.B. siehe SyncObjs).
Nur Lesend, wenn währenddessen nirgendwo Schreibend zugegriffen werden kann, da kann man es auch ohne Synchronisation machen, aber nur wenn beim Lesezugriff nichts geschrieben wird.
z.B. Stream.Read ist ein schreibender Zugriff, da dort der Posiotionszeiger verändert...