Antworten:
Sie müssen nichts Besonderes tun, sondern Parallel.Foreach()
warten, bis alle verzweigten Aufgaben abgeschlossen sind. Über den aufrufenden Thread können Sie ihn als einzelne synchrone Anweisung behandeln und beispielsweise in einen try / catch-Code einschließen.
Bei Parallel.Foreach ist dies nicht erforderlich: Das foreach wird nur in so vielen Threads ausgeführt, wie Prozessoren verfügbar sind, es wird jedoch synchron zurückgegeben.
Weitere Informationen finden Sie hier