Disposer d'un ensemble de Tâches avec seulement X à un moment

Disons que j'ai de 100 missions que faire quelque chose qui dure 10 secondes.
Maintenant, je veux seulement courir 10 à un moment comme quand 1 de ces 10 finitions une autre tâche est exécutée jusqu'à ce que tous sont finis.

Maintenant j'ai toujours utilisé ThreadPool.QueueUserWorkItem() pour une telle tâche, mais j'ai lu que c'est une mauvaise pratique de le faire et que je devrais utiliser plutôt des Tâches.

Mon problème est que j'ai nulle part trouvé un bon exemple pour mon scénario donc, pourriez-vous me faire sur la façon d'atteindre cet objectif avec des Tâches?

  • Où avez-vous lu que l'utilisation de la ThreadPool était une mauvaise pratique?
  • Je suggère la lecture de quelques articles, et Stackoverflow offres d'il ya beaucoup de codé exemples que d'autres ont essayé et où les réponses sont fournies stackoverflow.com/questions/6192898/... faire une recherche google comme j'ai le C# Stackoverflow pool de threads.QueueUserWorkItem()
  • Voulez-vous une méthode qui bloque jusqu'à ce que toutes les tâches sont effectuées, ou voulez-vous une méthode qui retourne un Task lorsque toutes les tâches sont effectuées?
  • Il doit bloquer, tout comme pool de threads n'mais avec des tâches. Certains gars ici sur Stackoverflow me dit sur un exemple de code qui Threadpool serait une mauvaise pratique
InformationsquelleAutor maddo7 | 2012-12-28