У меня возникли трудности с пониманием того, как использовать async и ждать работы.Async и ждут: несколько ожидающих выражений
Я понимаю, что когда метод async попадает в выражение ожидания, метод немедленно возвращается и в какой-то момент в будущем возвращается выражение ожидания и метод продолжает выполняться.
То, что я не понимаю, это то, что происходит, когда метод async содержит более одного ожидания ожидания? Когда выполнение попадает во второе выражение ожидания, поскольку метод уже был возвращен после того, как было найдено первое выражение ожидания, что происходит с выполнением второго выражения ожидания?
В настоящее время я читаю две книги о асинхронном режиме и жду, но мой темный ум не освещен ни тем, ни другим!
Не ответ довольно просто: то же, что и с первым ожиданием. т.е. метод будет немедленно возвращаться ко второму пункту, если он уже не завершен, и в какой-то момент в будущем возвращается второе выражение ожидания, и метод продолжает выполнять еще раз. И это происходит для всех ожиданий, которые могут возникать последовательно в методе. –
@PhilipStuyck: Дело в том, что OP смущен (я считаю), о том, что второй вызывающий абонент * *, к которому возвращается метод. –
Итак, в то время как первый ожидает выполнения, код возвращается для завершения кода вызывающего абонента? В то время как во время второго ожидания управление возвращается к потоку пользовательского интерфейса или планировщику пула потоков? – serlingpa