Da ich aber die Anzahl der Abfragen begrenzen muss, müsste ich die Anzahl der Tasks begrenzen. Wie wäre das möglich?
Klar- Das wäre eigentlich genauso, wie du es in deinem ersten Versuch bereits drin hattest: Du erstellst dir erst einmal deinen eigenen
TThreadPool
und setzt dann dort die Anzahl der Worker-Threads.
In Aufrufe wie
TTask.Run(..)
oder
TTask.Future(..)
gibst du als zusätzlichen Parameter dann einfach noch deinen selbst erstellten Threadpool an, die Tasks/Futures laufen dann in diesem Threadpool, in welchem nie mehr als X Tasks gleichzeitig ausgeführt werden.
PS: Rein aus Interesse- Was schwebt dir denn als maximale Anzahl der gleichzeitig laufenden Threads vor?