具有多个处理器的异步

Kod*_*ist 5 python multiprocessing async-await

我注意到它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)]))
Run Code Online (Sandbox Code Playgroud)

有没有办法使用asyncio, async, 或await利用多个处理器来处理受处理器限制的任务?