Einzelnen Beitrag anzeigen

romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Synchronize, TCriticalSection oder sonst was???

  Alt 9. Sep 2004, 18:22
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!
  Mit Zitat antworten Zitat