5

假设我有这样的课程:

class MyClass:
    def __init__(self):
        run_some_long_time_function()

如何在 python 3.4.1 中使用 asyncio 并行创建此类的多个实例?

4

1 回答 1

7

asyncio 事件循环是单线程的,因此在事件循环上运行的任何内容都不会并行运行。但是,您可以生成一个线程并等待它完成。默认执行程序应该为您创建一个线程:

loop = asyncio.get_event_loop()

asyncio.async(loop.run_in_executor(None, lambda: MyClass()))
asyncio.async(loop.run_in_executor(None, lambda: MyClass()))
于 2014-07-30T02:43:28.543 回答