Comment puis-je attendre que le Parallel.ForEach se termine

J’utilise TPL dans mon projet actuel et j’utilise Parallel.Foreach pour faire tourner plusieurs threads. La classe de tâches contient Wait () pour attendre que la tâche soit terminée. Comme ça, comment puis-je attendre que Parallel.ForEach se termine et que je passe ensuite à l’exécution des prochaines instructions?

Vous n’avez rien à faire de spécial, Parallel.Foreach() attendra que toutes ses tâches soient terminées. A partir du thread appelant, vous pouvez le traiter comme une seule instruction synchrone et, par exemple, l’envelopper dans un try / catch.

Vous n’avez pas besoin de cela avec Parallel.Foreach: il n’exécute que foreach dans autant de threads que de processeurs disponibles, mais il retourne de manière synchrone.

Plus d’informations peuvent être trouvées ici