WhenAll вложен в WhenAny (или WhenAll с тайм-аутом)C#

Место общения программистов C#
Ответить
Anonymous
 WhenAll вложен в WhenAny (или WhenAll с тайм-аутом)

Сообщение Anonymous »

Первое исключение не блокирует выполнение:

Код: Выделить всё

    public static async Task Main()
{
await Task.WhenAny(
Task.WhenAll(
Task.Run(() => throw new Exception("This exception is lost")),
Task.Run(() => Task.Delay(100))),
Task.Run(() => Task.Delay(1000)));

await Task.WhenAll(
Task.Run(() => Task.Delay(100)),
Task.Run(() => throw new Exception("This exception is reported")));
}
Я пытаюсь добавить тайм-аут для ожидания нескольких задач, окружив Task.WhenAll вызовом Task.WhenAny с задачей тайм-аута. Неожиданно я не получаю исключений.

Подробнее здесь: https://stackoverflow.com/questions/797 ... th-timeout
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»