Genau. Ich habe eine Klasse (vorher war es ein Record).
Dieser Klasseninstanz, welche nur einmalig erzeugt wird, weise ich in den Threads ein Objekt zu mit welchem ich dann weiterarbeite.
Das Objekt enthält Strings, Integers... ganz normale Dinge.
Aktuell habe ich eine globale CS welche von allen 5 Threads verwendet wird. Klappt sehr fein. Keinerlei Konflikte.
Könnte ich dann nun einfach auf System.TMonitor.Enter(meine globale Klasseninstanz) verwenden und hätte dasselbe Ergebnis nur
besser?
Was müsste ich dem Enter denn übergeben, wenn ich sowas hier habe
Delphi-Quellcode:
- TTask Anfang (eine Aufgabe bei Klick im MainMenu)
Monitor Enter
try
EineFunktionWirdAufgerufen
finally
Monitor Exit
end;
- TTask Ende
Dort steht aktuell auch CriticalSections. Ohne ging das schief. Würde aber gerne weg von CS und hin zu Monitor nur weiß ich nicht, was ich dort als Objekt übergeben soll.