我注意到asyncio
在单独的处理器上没有运行协同程序。例如,如果我使用Python 3.6.3运行以下程序,那么它使用我的四个核心中的一个15秒,而不是三个核心,每个5秒。
import asyncio
async def myfn(n):
s = 0
for x in range(int(n)):
s += x
print(s)
loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(
[myfn(x) for x in (1e8 + 1, 1e8 + 2, 1e8 + 3)]))
有没有办法使用asyncio
,async
或await
利用多个处理器来处理绑定任务?