Je suis encore relativement nouveau en informatique parallèle, donc je ne sais pas trop quel outil utiliser pour le travail.Que faire pour attendre un nombre indéterminé de tâches?
J'ai un System.Threading.Tasks.Task
qui doit attendre la fin du nombre n de tâches avant de commencer. La partie délicate est que certaines de ses dépendances peuvent commencer après le démarrage de cette tâche (vous êtes assuré de ne jamais toucher les 0 tâches dépendantes jusqu'à ce qu'elles soient toutes terminées).
Voici le genre de ce qui se passe
- thread parent crée quelque part entre 1 et (NUMBER_OF_CPU_CORES - 1) tâches.
- Le thread parent crée une tâche à exécuter lorsque toutes les tâches du travail sont terminées.
- Le thread parent crée un thread de surveillance
- Le thread de surveillance peut supprimer une tâche de travail ou générer une nouvelle tâche en fonction de la charge.
Je peux comprendre tout à l'étape 4. Comment puis-je obtenir la tâche de l'étape 2 à attendre pour courir jusqu'à ce que tous les nouveaux threads de travail créé à l'étape 4 finition?
Conservez-vous une liste ou un compte des tâches en cours? – tzaman
Les tâches actuellement actives seront dans une liste –