首页 >后端开发 >Python教程 >如何使用并行性同时运行多个 Python 函数?

如何使用并行性同时运行多个 Python 函数?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-18 05:06:02314浏览

How Can I Run Multiple Python Functions Simultaneously Using Parallelism?

如何使用 Python 并行性同时执行函数

在 Python 中,寻求同时执行多个函数可能是一个挑战。特别是,当功能独立运行且互不干扰时,等待一个功能完成后再启动另一功能会限制效率。为了解决这个问题,Python 提供了两种方法:线程和多重处理。

探索多重处理以实现真正的并行

多重处理是在 Python 中实现真正并行性的更好选择,因为CPython 施加的限制。下面是一个完整的示例,演示了多处理的使用:

from multiprocessing import Process

def func1():
    print("func1: starting")
    for i in range(10000000):
        pass
    print("func1: finishing")


def func2():
    print("func2: starting")
    for i in range(10000000):
        pass
    print("func2: finishing")


if __name__ == "__main__":
    p1 = Process(target=func1)
    p1.start()
    p2 = Process(target=func2)
    p2.start()
    p1.join()
    p2.join()

此方法采用 Python 多处理模块中的 Process 类来生成和管理每个函数的子进程。通过启动和加入进程,func1和func2都可以并行执行。

封装并行执行

启动和加入进程的机制可以方便地封装成一个function:

def runInParallel(*fns):
    proc = []
    for fn in fns:
        p = Process(target=fn)
        p.start()
        proc.append(p)
    for p in proc:
        p.join()

runInParallel(func1, func2)

该函数接受任意数量的函数作为输入并启动它们的并行执行。它抽象了底层的流程处理,使您能够同时无缝地执行多个功能。

以上是如何使用并行性同时运行多个 Python 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn