Сопоставление Middle async/await и Task обновлено

Асинхронные API и их назначение

Вопрос

Сопоставьте API и задачу, которую оно решает.

Попробуйте сами

Нажмите слева, потом подходящее справа.

Показать ответ и разбор

Коротко

WhenAny часто сочетают с Task.Delay для таймаута, но в .NET 6+ для этого есть task.WaitAsync(timeout).

Правильные пары

Task.WhenAll
Дождаться всех задач и собрать результаты
Task.WhenAny
Дождаться первой завершившейся задачи
Task.Run
Унести CPU-работу на пул потоков
Task.Delay
Асинхронно подождать без блокировки потока
CancellationTokenSource.CancelAfter
Отменить операцию по таймауту

Разбор

WhenAny часто сочетают с Task.Delay для таймаута, но в .NET 6+ для этого есть task.WaitAsync(timeout).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме