函数的并行执行
在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中文网其他相关文章!