Подскажите пожалуйста, в чем особенность использования Task.WhenAll ?
Полазив в msdn понял, что он создает новую задачу, по завершении указанных задач в параметре, однако, по сути он ничего не создает, кроме некой ссылки типа Task, с которой я не могу понять что делать дальше. Если здесь создается просто ссылка, которой я должен присвоить в дальнейшем новый объект типа Task, то тогда проще вызвать (имхо)
Task.WaitAll(t, t1);
Task t2 = new Task(...);
или может быть я в неправильном направлении думаю. Подскажите пожалуйста пример использования этого метода. Спасибо.
Ответ
Сначала я неправильно прочитал вопрос и ответил про WaitAll
Допустим есть несколько экземплров Task
Также можно проанализировать состояние переданных тасков, их исключения и так далее.
static void Main(string[] args)
{
var t1 = new Task
t1.Start();
t2.Start();
var t3 = Task.WhenAll(t1,t2);
Console.WriteLine(t3.Result.Sum());
}
private static int DoSomething2()
{
return 3;
}
private static int DoSomething1()
{
return 5;
}
Комментариев нет:
Отправить комментарий