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模块的主要内容,如果未能解决你的问题,请参考以下文章
Python多进程 - subprocess & multiprocess