Thema: Delphi 2 Fragen zu Threads

Einzelnen Beitrag anzeigen

Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: 2 Fragen zu Threads

  Alt 1. Apr 2008, 17:10
Hi!

Zitat von kcx:
1. Wenn ich mit mehreren Threads in eine Datei schreibe, sollte man das Beschreiben der Datei, also "WriteLn(Datei, 'text')" mit einer CriticalSection o.Ä schützen oder ist das unnötig?
Ja, Zugriffe auf gemeinsame Daten sollte man grundsätzlich synchronisieren.

Zitat von kcx:
2. Ich starte in einer Konsolenanwendung mehrere Threads und möchte jetzt, dass sich die Konsolenanwendung erst beendet, wenn alle Threads fertig sind. Bisher habe ich das mit einer global Boolean Variable gemacht und einfach "while bWorking do Sleep(1000)"; im Thread incrementiere ich dann eine Variable und wenn diese gleich der gestarteten Threads ist, wird "bWorking" auf "false" gesetzt, und die Anwendung kann sich beenden. Geht das auch besser, sodass die Anwendung auch noch reagiert, was bei "Sleep" ja nicht der Fall ist?
Ja das geht. TThread besitzt ein OnTerminate-Ereignis, das aufgerufen wird, wenn der Thread terminiert. Dort kannst du z.B. prüfen, ob es der letzte Thread war.
Dani H.
At Least I Can Say I Tried