正确理解协程
import asyncio# 定义一个异步函数(协程)
async def say_after(delay, what):# 等待指定的时间await asyncio.sleep(delay)# 打印消息print(what)# 定义另一个异步函数
async def main():# 同时启动两个协程,并等待这2个协程结束await say_after(1, 'hello')await say_after(2, 'world')# 运行主函数
asyncio.run(main())
正确理解
当执行这句 await say_after(1, 'hello') 将会交出程序控制权,等待 say_after(1, 'hello')执行完,当然系统也有机会执行其他协程(看系统调度)。
await 后面必须跟协程,而不是普通函数。