Re[4]: Так подойдет, спасибо!
От: StatujaLeha на правах ИМХО
Дата: 14.09.17 09:39
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>var _afters = new[] { after1, after2, after3, after4, after5 };

D>Task.Run(()=>first).ContinueWith((t)=>Parallel.Invoke(_afters));[/cs]

Как я понял по описанию Parallel.Invoke, получится, что ContinueWith запускает Parallel.Invoke и ждет, пока он отработает(т.е. таска ContinueWith будет периодически получать время на выполнение, даже если не все задачи завершены).
Если же сделать как-нибудь через await
Task.Run(() => first()).ContinueWith(async (_) => await Task.WhenAll(Task.Run(after1), Task.Run(after2), Task.Run(after3)))

то таска ContinueWith запустит все задачи и в следующий раз будет разбужена только по завершении всех задач.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.