Возможен ли тупик при ожидании нескольких задач? - PullRequest
0 голосов
/ 16 октября 2019

Согласно одному из комментариев к предыдущему вопросу следующий код может зайти в тупик.

var task1 = myFunction1Async();
var task2 = myFunction2Async();
Task.WaitAll(task1, task2);

Это правда?

Если это так, то одно из основных преимуществ TPL (простота обработки нескольких вызовов ввода-вывода, которые могут блокироваться), похоже, выходит за пределы окна.

1 Ответ

1 голос
/ 16 октября 2019

Я считаю, что путаница заключается в том, что Task.WaitAll является синхронной версией (лучшего) метода Task.WhenAll. Вот SO сообщение , охватывающее различия между ними.

Все комментарии в посте, на который ссылаются, пытались сказать, что синхронное ожидание многих задач приводит к таким же тупикам, как ожидание для одной задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...