Zitat von
alzaimar:
Wieso erstellst Du einen Thread jedesmal neu?
Schreibe dir einen 'Workerthread', der im Hintergrund auf Jobs wartet. Sobald ein Job ankommt, wird er bearbeitet und anschließend geht das Spiel von vorne los. Falls zwischenzeitlich ein neuer Job angekommen ist, wird der gleich verarbeitet. So ist das sauber.
Und ein Job ist einfach eine Teilaufgabe. Ich vermute, das Du im OnTerminate den Thread nicht einfach neu anstoßen kannst. Vielleicht kommt Windows da durcheinander.
Hört sich gut an! Leider keinen blassen Schimmer, wie man einen Thread auf Job's warten lässt.
Was ich weiß ist, dass die Execute-Methode des Threads nur einmal ausgeführt werden kann (oder stimmt das nicht?). Dann müsste die Execute-Methode ja eine Endlosschleife enthalten? Wie programmiert man dieses "auf einen Job warten"?
Oder kann man FreeOnTerminate auf False setzen und den Thread etwa mehrmals hintereinander mit Resume starten?