multiprocessing模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了multiprocessing模块相关的知识,希望对你有一定的参考价值。

一 创建子进程的方法

  调用Process类。创建子进程的方法一

import multiprocessing
import time
import os
def foo():
    time.sleep(1)
    print(‘子进程 %s 父进程 %s‘ %(os.getpid(),os.getppid()))

if __name__ == ‘__main__‘:            #在windows下必须加上这一句代码
    p1=multiprocessing.Process(target=foo)
    p2=multiprocessing.Process(target=foo)
    p1.start()   
    p2.start()
    p1.join()    #主进程等待子进程完成,在执行主进程
    p2.join()
    print(‘主进程 %s 主进程的父进程是 %s,这是pycharm的进程‘%(os.getpid(),os.getppid()))

  输出:

子进程 1260 父进程 12808
子进程 2256 父进程 12808
主进程 12808 主进程的父进程是 8804,这是pycharm的进程

  创建子进程的方法二

import multiprocessing
import os
class Pro(multiprocessing.Process):
    def __init__(self,name):
        super().__init__()
        self.name=name
    def run(self):
        print(‘进行姓名‘,self.name)
        print(‘子进程 %s  父进程 %s‘%(os.getpid(),os.getppid()))


if __name__ == ‘__main__‘:
    p=Pro(‘egon‘)
    p.start()
    print(‘主进程 %s‘ %os.getpid())

  输出:

主进程 12632
进行姓名 egon
子进程 10300  父进程 12632

二 子进程的方法

  1 join方法

以上是关于multiprocessing模块的主要内容,如果未能解决你的问题,请参考以下文章

multiprocessing模块

Python多进程 - subprocess & multiprocess

multiprocessing模块

有没有办法在嵌套函数或模块中使用 multiprocessing.pool ?

进程的创建-multiprocessing

multiprocessing模块创建进程