使用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