Je viens de commencer à examiner la nouvelle bonté de "System.Threading.Tasks" dans .Net 4.0, et je voudrais savoir s'il existe un support intégré pour limiter le nombre de tâches simultanées qui s'exécutent en même temps, ou si cela doit être géré manuellement.
Par exemple, si j'ai besoin d'appeler une méthode de calcul 100 fois, y a-t-il un moyen de configurer 100 tâches, mais de n'en faire exécuter que 5 simultanément ? La réponse est peut-être de créer 5 tâches, d'appeler Task.WaitAny, et de créer une nouvelle tâche à la fin de chaque tâche précédente. Je veux juste m'assurer que je ne rate pas une astuce s'il existe une meilleure façon de procéder.
En fait, existe-t-il un moyen intégré de le faire ?
Dim taskArray() = {New Task(Function() DoComputation1()),
New Task(Function() DoComputation2()),
...
New Task(Function() DoComputation100())}
Dim maxConcurrentThreads As Integer = 5
RunAllTasks(taskArray, maxConcurrentThreads)
Merci pour toute aide.