刚学PYTHON的协程,我想请教下,这两段代码执行起来有什么区别呢?
tasks = [asyncio.ensure_future(task(i)) for i in range(0,300)]
loop.run_until_complete(asyncio.gather(*tasks))
tasks = [task(i) for i in range(0,300)]
loop.run_until_complete(asyncio.wait(tasks))
巴扎黑2017-04-18 10:28:40
문서에서 볼 수 있듯이 이 두 코드는 동일한 효과를 갖습니다. 하지만 wait와 Gather의 반환 값은 다릅니다. Wait는 첫 번째 future가 완료되거나 오류가 발생한 경우에도 반환할 수 있습니다.