Он не «блокируется» в традиционном смысле «остановка текущего потока в текущем состоянии до тех пор, пока не будет получен какой-либо сигнал» (одна из основных целей asyn c - увеличить повсюду, позволяя более эффективное использование потоков пула, потому что не все они сидели в ожидании ввода-вывода), но да: если метод сообщает, что он не завершен, выполнение будет приостановлено await
и возобновлено (вполне вероятно, другой общий поток), когда доступен результат asyn c.
Итак, да, семантически это приводит к тому, что эти две вещи не выполняются одновременно (обратите внимание, что это применимо, только если первый вызов действительно асинхронный).
Обратите внимание, что многие API не ожидают нескольких одновременных асинхронных c операций и в первом примере будут иметь неопределенное поведение.