Bonjour à tous, ma question est assez simple.

Je souhaiterais savoir comment procéder pour limiter le nombre de threads actifs dans mon application. Mon code d'exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
For Each O as Object In ListeQuelconque(Of Object)
      Threading.Tasks.Task.Factory.StartNew(Sub() Bidon(O))
Next
Le problème étant que j'ai plusieurs milliers d'objets dans cette liste, et que cela me crée des milliers de threads quasi-instantanément. Je voudrais donc limiter au nombre de 5 les threads, par exemple, et pouvoir "attendre" la fin d'un thread pour en créer un nouveau et continuer ma boucle.

A savoir que ma procédure Bidon() prend plusieurs secondes à s'effectuer (accès à internet etc) et c'est la raison pour laquelle je fais appel aux thread.

Je vous remercie d'avance pour vos réponses et vos conseils.