【发布时间】:2016-12-20 16:15:48
【问题描述】:
必要的,用主循环运行协程,会做一些事情。并从中启动另一个不会阻塞的协程。使用 Python 3.5
import asyncio,time
async def cor1():
for i in range(10):
await asyncio.sleep(0)
print("cor1",i)
async def cor2():
for i in range(10):
await asyncio.sleep(0)
time.sleep(1)
print("cor2",i)
async def main():
asyncio.ensure_future(cor1())
asyncio.ensure_future(cor2())
print("cor3")
loop = asyncio.get_event_loop()
asyncio.ensure_future(main())
loop.run_forever()
现在主循环创建了两个协程。但它们不是并行运行的,一个接一个。在一个完成之前,另一个不会开始工作。当然你可以在不同的线程上运行它们并使用队列建立通信。但是是否有可能在 python 3.5 中的 asyncio 的帮助下做到这一点
【问题讨论】:
标签: python-3.x async-await python-asyncio