Asyncio并行化似乎是顺序的

时间:2017-04-05 14:09:59

标签: python python-3.5 python-asyncio

我刚开始怀疑Python3.5的新asyncio,但是我从一开始就迷路了。根据文档asyncio.gather运行async def并行。但是,当我计算以下小脚本时:

import asyncio
import time

async def double(x):
    time.sleep(x)
    return x * 2

loop = asyncio.get_event_loop()
a = loop.run_until_complete(asyncio.gather(
    double(2),
    double(4),
    double(5)
))
loop.close()

print(a)

执行时间是:

$ time python3 asincio_test.py 
[4, 8, 10]

real    0m11.081s
user    0m0.060s
sys     0m0.004s

所以似乎执行是按顺序完成的。我错过了什么?

0 个答案:

没有答案