Время и время снова, я вижу, что использование async
- await
не создает никаких дополнительных потоков. Это не имеет смысла, потому что единственные способы, с помощью которых компьютер может делать больше, чем 1 вещь за раз, - это
- На самом деле выполняется более 1 штуки одновременно (выполняется параллельно, используя несколько процессоров)
- Имитация его путем планирования задач и переключения между ними (сделайте немного A, немного B, немного A и т.д.).
Итак, если async
- await
не делает ни того, ни другого, то как он может реагировать на приложение? Если есть только 1 поток, то вызов любого метода означает, что он должен завершить процесс, прежде чем делать что-либо еще, и методы внутри этого метода должны ждать результата перед тем, как продолжить, и так далее.