我读过很多例子,博客文章,关于 Python 3.5 + 中 asyncio
/async
/await
的问答,很多都很复杂,我发现最简单的大概就是 这个。
尽管如此,它仍然使用 ensure_future
,为了学习 Python 中的异步编程,我想看一个更简单的示例,以及 最少的必要工具如何执行基本的异步/等待示例。
问: 是否可以给出一个 展示 ABC0/await
工作原理的简单示例,只使用这两个关键字 + 代码运行异步循环 + 其他 Python 代码,而不使用其他 asyncio
函数?
例如: 这样的东西:
import asyncio
async def async_foo():
print("async_foo started")
await asyncio.sleep(5)
print("async_foo done")
async def main():
asyncio.ensure_future(async_foo()) # fire and forget async_foo()
print('Do some actions 1')
await asyncio.sleep(5)
print('Do some actions 2')
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
但是没有 ensure_future
,并且仍然演示了等待/异步是如何工作的。