Hi,
Dein Thread-Code ist nicht Thread-Safe !!!!!!!!!!!
Deine Function GetNextJob muss innerhalb einer CriticalSection laufen,
den überleg mal was passiert wenn 2 oder mehr Threads gleichzeitig GetNextJob aufrufen.
Außerdem prüfst Du ob das Ende der Jobliste erreicht ist indem Du .ount der Stringliste prüfst,
das ist so auh nicht Threadsafe.
Da solltest Du, um beim Deinem jetzigen Code zu bleiben, Deine TJoblist um eine Function isEmpty : Boolean erweitern.
In dieser Function darfst Du auch nur innerhalb der CritialSection auf .Count der TStringList zugreifen.
Das war nur ne "optimierung" auf die Schnelle, das kann man noch schöner machen
Greetz DataCool
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.