具有多个处理器的asyncio

时间:2017-12-30 15:00:58

标签: python async-await multiprocessing

我注意到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)]))

有没有办法使用asyncioasyncawait利用多个处理器来处理绑定任务?

0 个答案:

没有答案