IMHO wäre es angebrachter keine Threads zu starten, sondern Tasks zu starten, die von einem ThreadPool abgearbeitet werden.
Drehscheibe ist dabei der ThreadPoolManager, der bekommt die Tasks und verteilt diese auf die freien Threads im Pool.
Wird der Manager freigegeben, dann kümmert der sich auch um die Freigabe der Tasks und Threads.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)