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

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

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

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

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

概念

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

多处理与线程

在 Python 中,线程主要用于 I/O 密集型操作。对于 CPU 密集型任务,多处理可提供更好的性能,因为它利用多个处理器核心。

并行运行函数

考虑以下场景:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

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,应使用多处理。下面是一个例子:

1

2

3

4

5

6

7

8

9

from multiprocessing import Process

 

if __name__ == "__main__":

    p1 = Process(target=func1)

    p1.start()

    p2 = Process(target=func2)

    p2.start()

    p1.join()

    p2.join()

登录后复制

封装并行执行

上面的代码可以简化为一个函数,方便多个函数的并行执行:

1

2

3

4

5

6

7

8

9

10

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板