并行运行函数:多处理指南
概念
多任务涉及执行多个并发任务,可以通过线程或线程来实现这一壮举多处理。
多处理与线程
在 Python 中,线程主要用于 I/O 密集型操作。对于 CPU 密集型任务,多处理可提供更好的性能,因为它利用多个处理器核心。
并行运行函数
考虑以下场景:
import common dir1 = 'C:\folder1' dir2 = 'C:\folder2' filename = 'test.txt' addFiles = [25, 5, 15, 35, 45, 25, 5, 15, 35, 45] def func1(): c = common.Common() for i in range(len(addFiles)): c.createFiles(addFiles[i], filename, dir1) c.getFiles(dir1) time.sleep(10) c.removeFiles(addFiles[i], dir1) c.getFiles(dir1) def func2(): c = common.Common() for i in range(len(addFiles)): c.createFiles(addFiles[i], filename, dir2) c.getFiles(dir2) time.sleep(10) c.removeFiles(addFiles[i], dir2) c.getFiles(dir2)
要同时执行 func1 和 func2,应使用多处理。下面是一个例子:
from multiprocessing import Process if __name__ == "__main__": p1 = Process(target=func1) p1.start() p2 = Process(target=func2) p2.start() 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中文网其他相关文章!