如果我運行會發生什么:
tasks = []
for item in items:
tasks.append(asyncio.create_task(f(item)))
res = asyncio.gather(*tasks)
函式會運行兩次嗎?之后create_task和之后gather
uj5u.com熱心網友回復:
首先,請注意您必須等待 asyncio.gather()它們運行。
一旦修復,這些功能將只運行一次。create_task()將它們提交給事件回圈。之后,它們將在下一個await. asyncio.gather()只是確保呼叫協程等待它們的完成。例如,這將分兩部分運行它們:
tasks = []
for item in items:
tasks.append(asyncio.create_task(f(item)))
await asyncio.sleep(1) # here they start running and run for a second
res = await asyncio.gather(*tasks) # here we wait for them to complete
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/417779.html
標籤:
