Как правильно вызвать последовательность задач?
От: mDmitriy Россия  
Дата: 13.09.17 08:40
Оценка:
Все привет!

При старте приложения надо запустить фоном выполнение нескольких тяжеловесных методов
Имеем:
var first = new Action(() => {});
var after1 = new Action(() => {});
var after2 = new Action(() => {});
...
var afterN = new Action(() => {});

Нужно дождаться выполнения метода first и запустить параллельно все остальные
Сейчас это работает так:
var _afters = 
{
   new Task(after1),
   new Task(after2),
   ...
   new Task(afterN),
}

var task = Task.Run(() => first).ContinueWith(t =>
                {
                    _afters.ForEach(a => a.Start());
                    Task.WaitAll(_afters);
                });

Можно ли написать как-то покрасивее?
Спасибо...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.