Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: Threads mit TThread Klasse

  Alt 13. Jul 2014, 11:25
Indem Du zwei Threads aufmachst. Der eine übernimmt das Laden der Datei und das sequentielle Abarbeiten per 'workFunction'. Der zweite ruft 'WorkProcedure' auf. Jeweils in der überschriebenen Execute-Methode. Du selbst wirst und kannst diese Methode gar nicht aufrufen, denn sie ist protected. Du erstellst einfach den Thread, fertig.

'Probleme' beim Thread-Programmieren sind:
1. Datenaustausch. Du musst durch geeignete Synchronisationsmechanismen (TCriticalSection z.B.) sicherstellen, das kein kongruenter Zugriff auf die Daten erfolgt.
2. Visualisierung. Du kannst aus dem Thread nicht einfach Dinger auf dem Bildschirm aktualisieren. Das musst Du anders lösen ('Synchronize', 'Queue' sind zwei Möglichkeiten).

Ich würde mal nach dem WorkerThreadPool hier im Forum suchen, das Teil nimmt Dir eigentlich alles ab. Du definierst nur Jobs, die im Hintergrund ausgeführt werden sollen. Den Rest übernimmt der Pool.
  Mit Zitat antworten Zitat