Hallo!
Ich erstelle in meinem Programm zwei verschiedene Threads. Beide Threads benutzen eine globale Funktion, die unter anderem Items in TListBox und TStringList hinzufügt. Die Threads werden mehrmals erstellt und warten in einer While-Shleife auf Terminate-Befehl. Das Hauptprogramm verwendet die o. g.
VCL-Komponenten nur zum lesen. Den Zugriff von Threads auf
VCL muss ich doch synchronisieren, oder? Was ist in meinem Fall richtig?
A) Die Funktion weiterhin wie o. g. aufrufen
B) Für jeden Thread eine Thread-eigene Funktion erstellen und den Berreich, in dem die Items hinzufügt werden, synchronisieren. Dann muss ich aber den Berreich in eine separate Procedure packen, um Synchronize aufrufen zu können, oder?
C) Das ganze wie in
B, aber mit einer global definierter TCriticalSection und ohne separaten Procedure
D) Keine der Varianten. Was denn nun?
Danke!