Существует два основных преимущества для async
/ await
:
- Отзывчивый пользовательский интерфейс (для приложений пользовательского интерфейса).
- Более масштабируемые сервисы (для внутренних приложений).
Оба эти преимущества связаны с одним и тем же: async
/ await
освобождает вызывающий поток. На стороне клиента это поток пользовательского интерфейса, поэтому, освобождая вызывающий поток, пользовательский интерфейс остается отзывчивым для пользователя, ожидая завершения операции (а). На стороне сервера это поток запросов, поэтому, освобождая поток запросов, серверная рука обрабатывает другие запросы, ожидая завершения операции.
В вашем конкретном примере c, в этом нет никакой пользы, потому что Main
подразумевает консольное приложение, которое не является ни пользовательским интерфейсом, ни серверным приложением. Некоторые разработчики используют асинхронный код в консольных приложениях по причинам параллелизма, но нет наследственного преимущества, как на других платформах.