首页 >后端开发 >Python教程 >如何使用多重处理并行运行 Python 函数?

如何使用多重处理并行运行 Python 函数?

Susan Sarandon
Susan Sarandon原创
2024-11-29 20:07:13143浏览

How Can I Run Python Functions in Parallel Using Multiprocessing?

函数的并行执行

在Python中,函数的顺序执行是默认行为。但是,在处理资源密集型操作时,同时运行多个函数以提高性能可能是有益的。本文讨论如何使用线程或多处理并行运行函数。

线程和多处理是分别为多线程和多进程场景提供机制的两个库。虽然线程更加轻量级,但多处理通常可以为计算任务提供更好的性能。

让我们考虑一个示例,我们要并行执行两个函数 func1 和 func2。使用多处理,我们可以将函数定义为:

def func1():
    # Function 1 code
    print("func1: completing")


def func2():
    # Function 2 code
    print("func2: completing")

要并行运行函数,我们可以使用以下方法:

from multiprocessing import Process

p1 = Process(target=func1)
p1.start()
p2 = Process(target=func2)
p2.start()

start() 方法启动进程,并且它们同时执行。为了确保我们的主进程等待子进程完成,我们可以使用 join() 方法:

p1.join()
p2.join()

此外,我们可以将并行执行封装到辅助函数中:

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