python - 如何使用 asyncio 在 python3 中运行并行作业?

标签 python python-asyncio

假设我有这样一个类:

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

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

最佳答案

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

loop = asyncio.get_event_loop()

asyncio.async(loop.run_in_executor(None, lambda: MyClass()))
asyncio.async(loop.run_in_executor(None, lambda: MyClass()))

关于python - 如何使用 asyncio 在 python3 中运行并行作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25012574/

相关文章:

Python numpy - 随机数的再现性

python - 在 Signal Handler 中调用 Async 函数,Asyncio

python - 混合 asyncio 和 Kivy : How to start the asyncio loop and the Kivy application at the same time?

python - asyncio 超时终止子进程

python asyncio如何读取StdIn并写入StdOut?

python - 如何最佳地合并两个大数据框

python - 如何在pandas df中仅绘制堆积条形图中的前n个最高值?

python - 需要在 Python 中对长的、格式奇怪的数据集取平均值

Python:查找每个月的平均股票值(value)

python - 如何将第三方库中的函数转换为异步函数?