from asyncio import sleep, run
async def get():
print("Started get()")
await sleep(3)
print("Finished get()")
async def async_main():
await get()
await get()
await get()
if __name__ == "__main__":
run(async_main())
< /code>
Я ожидал, что результат должен быть похож на: < /p>
Started get()
Started get()
Started get()
(No output, just wait 3 seconds)
Finished get()
Finished get()
Finished get()
< /code>
Но результатом было: < /p>
Started get()
(No output, just wait 3 seconds)
Finished get()
Started get()
(No output, just wait 3 seconds)
Finished get()
Started get()
(No output, just wait 3 seconds)
Finished get()
if __name__ == "__main__": run(async_main()) < /code> Я ожидал, что результат должен быть похож на: < /p> Started get() Started get() Started get() (No output, just wait 3 seconds) Finished get() Finished get() Finished get() < /code> Но результатом было: < /p> Started get() (No output, just wait 3 seconds) Finished get() Started get() (No output, just wait 3 seconds) Finished get() Started get() (No output, just wait 3 seconds) Finished get() [/code] Почему это происходит?
Я хочу (быстро) просканировать свою локальную сеть, чтобы найти хост, прослушивающий определенный TCP-порт, например 2442 (сетевой API JS8Call, если кому интересно).
Я скопировал структуру программы из туториала, объясняющего асинхронное выполнение...
Я работаю над проектом ASP.NET Web Api, чтобы изучить платформу и ее тестирование, и мне интересно, можете ли вы проверить, что асинхронные методы на самом деле работают асинхронно (или они работают синхронно из-за каких-либо ошибок для пример)....
Мне интересно, зачем нам нужна асинхронная функция в C#. Я провел исследование и обнаружил, что асинхронная функция используется, если есть задача, связанная с вводом-выводом, которую нужно дождаться без блокировки.