(Co-Admin)
Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
Delphi 11 Alexandria
|
Re: Thread beenden oder warten lassen?
18. Mär 2007, 15:00
Moin Moritz,
ich hätte da noch eine dritte Variante anzubieten.
Du schreibst in Deinem Hauptprogramm die Pfade in eine Liste (z.B. TStringList), die der Thread abfragt, und nach der Verarbeitung aus der Liste löscht. Der Zugriff sollte dann aber per Synchronize erfolgen.
Nach der Verarbeitung legt sich der Thread dann selber für eine gewisse Zeit schlafen, z.B. mit Sleep, und prüft anschliessend, ob noch eine Datei vorhanden ist.
Beenden kann man den Thread dann, indem man ihm ein Eigenschaft "spendiert", über die dem Thread mitgeteilt wird, dass er sich beenden soll.
Ob der Thread nun je Durchlauf immer eine Datei verarbeitet, oder sich erst schlafenlegt, wenn keine Datei mehr in der Liste vorhanden ist, hängt dann von Deinem Anwendungsfall ab.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
|