使用python 3.5或更高版本,将await
直接应用于未来或任务,并将其与asyncio.wait_for
包装在一起之间有什么区别吗?关于什么时候适合使用wait_for
这个文档还不清楚,我想知道它是否是旧的基于生成器的库的遗迹。 以下的测试程序出现显示没有区别,但这并不能证明任何东西。'await future'和'await asyncio.wait_for(future,None)'之间有区别吗?
import asyncio
async def task_one():
await asyncio.sleep(0.1)
return 1
async def task_two():
await asyncio.sleep(0.1)
return 2
async def test(loop):
t1 = loop.create_task(task_one())
t2 = loop.create_task(task_two())
print(repr(await t1))
print(repr(await asyncio.wait_for(t2, None)))
def main():
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(test(loop))
finally:
loop.close()
main()
你能想到一个能够指定循环的重要情况吗? – zwol