asyncio 提供三种机制:
await 等待一个协程asyncio.create_task() 函数用来并发运行作为 asyncio任务的多个协程await语句,它就是一个可等待对象coroutine asyncio.sleep(delay, result=None)
result,则当协程完成时将其返回给调用者awaitable asyncio.gather(*aws, return_exceptions=False)
aws序列中的可等待对象。aws中某个可等待对象是协程,会自动作为一个任务调度asyncio.gather 和 asyncio.wait 区别
asyncio.gather 返回一个list, 结果和输入协程的顺序一致asyncio.wait 返回两个值,第一项表示完成的任务列表 (done),第二项表示等待 (Future) 完成的任务列表 (pending)asyncio.wait 支持一个接收参数return_when,在默认情况下,asyncio.wait会等待全部任务完成 (return_when=’ALL_COMPLETED’),它还支持 FIRST_COMPLETED(第一个协程完成就返回)和 FIRST_EXCEPTION(出现第一个异常就返回)asyncio.create_task 就是用的 loop.create_task