Es ging hier um einen Thread
POOL
Wenn du keine fertigen Bibliotheken nimmst (gibt's sowas überhaupt für Delphi32 ?
), wäre die Implementierung rein theoretisch gar nicht sooo schwer.
Eine Queue mit Funktionszeigern + eine Liste mit Threads. Ist einer fertig wird die nächste Funktion abgearbeitet.
Ich muss, zu meiner Schande, gestehen, dass ich mich zu meinen Delphi32-Zeiten nicht damit befasst habe.
Deshalb die abstrakte Kurzfassung.
Das warum sollte auch klar sein.
Schließlich braucht ein Thread Jahrzehnte um endlich starten zu können. Hast du ihn bereits schlummernd in der Warteschleife kann er sofort loslegen. Zusätzlich kannst du so die Anzahl der aktiven Threads unter Kontrolle halten.
Auf einem heutigen P4 mit HT sind zum Beispiel mehr als 16 Threads Overkill, noch mehr und der Scheduler frisst dir die Zyclen weg.
Ein Anwendungsfall wären zum Beispiel WebServices: Damit kannst du sichergehen, dass wirklich nur eine halbwegs vertretbare Zahl gleichzeitiger Aktionen läuft.