async/await позволяют записать асинхронную последовательность в привычном линейном стиле и не блокировать поток во время ожидания незавершённой операции.
Для чего нужны async/await и асинхронные методы?
async/await позволяют записать асинхронную последовательность в привычном линейном стиле и не блокировать поток во время ожидания незавершённой операции.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
async/await позволяют записать асинхронную последовательность в привычном линейном стиле и не блокировать поток во время ожидания незавершённой операции.
Метод обычно возвращает Task или Task<T>, а компилятор организует сохранение состояния и продолжение после await. Это упрощает обработку результата, исключений и отмены в сетевом, файловом и другом I/O-коде.
Асинхронность повышает отзывчивость и способность обслуживать много ожиданий, но не делает CPU-вычисление быстрее сама по себе. Async не означает новый поток, а вызов без await не означает, что ошибка и результат будут автоматически корректно обработаны.