Klar, nach dem ich mal eine Nacht drüber geschlafen habe, habe ich mich auch dazu entschlossen nicht mit FreeOnTerminate := True zu arbeiten, sondern ich kümmere mich selbst darum, wann der Thread zerstört wird. Da habe ich dann eine bessere Kontrolle, wann was passiert.
Das Suspend habe ich auch in den Thread selbst an das Ende der eigentlichen Arbeit gesetzt, um ihn gezielt schlafen zu legen. Damit habe ich auch die Kontrolle drüber. Wann das Resume aufgerufen wird, sollte dann doch eigentlich egal sein, da ja dann wieder von vorne begonnen wird.
Das mit den Semaphoren muss ich mir dann auch bei Gelegenheit noch mal reinziehen, wenn ich mal ein paar Minuten Luft holen kann.
@alzaimar: Du verwendest das ja auch im
WorkerThread
Jetzt habe ich aber noch eine Frage dazu mit diesen Jobs". Ich habe noch einen zweiten Thread den ich noch anpassen muss, der läuft alle 30 Sekunden wieder von vorne los. Stelle ich jetzt über einen Timer alle 30 Sekunden einen neuen Job in die Liste oder stelle ich den Job nur einmal rein und regele dann innerhalb des Jobs das Intervall. Aber wenn er dann ja nie beendet wird, wird auch den nächste Job nicht abgearbeitet????
Jetzt muss ich aber erst mal schauen, dass ich eine neue Softwareversion fertig bekomme, bin schon ein paar Tage überfällig, ansonsten springt mir bald jemand an die Gurgel.
Erst mal Danke. Threads sind schon eine tolle Sache, wenn man es richtig programmiert und es dann auch funktioniert.
Grüße
Sven