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