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

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

DDD
发布: 2024-12-05 07:50:13
原创
454 人浏览过

How Can I Run Multiple Python Functions in Parallel Using Multiprocessing?

并行运行函数:多处理指南

概念

多任务涉及执行多个并发任务,可以通过线程或线程来实现这一壮举多处理。

多处理与线程

在 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板