【发布时间】:2018-02-22 15:21:21
【问题描述】:
对于 python 3.5 或更高版本,直接将await 应用于未来或任务与使用asyncio.wait_for 包装有什么区别?该文档不清楚何时适合使用wait_for,我想知道它是否是旧的基于生成器的库的遗迹。下面的测试程序似乎没有任何区别,但这并不能证明什么。
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()
【问题讨论】:
标签: python python-3.5 python-asyncio