multiprocess模块
Posted mmyy-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了multiprocess模块相关的知识,希望对你有一定的参考价值。
multiprocess模块
从字面意思理解就是:多进程模块,具体来讲是python中一个操作、管理进程的包
process模块
process模块是一个创建进程的模块,借助这个模块,可以完成进程的创建
import os ,time from multiprocessing import Process def process1(): print(‘process1:‘,os.getppid()) time.sleep(1) print(os.getppid()) if __name__ == ‘__main__‘: #这里不写会报错,在mac系统和linux系统不写可以 # 在Windows操作系统中由于没有fork(linux操作系统中创建进程的机制),在创建子进程的时候会自动 # import 启动它的这个文件,而在 # import 的时候又执行了整个文件。因此如果将process() # 直接写在文件中就会无限递归创建子进程报错。所以必须把创建子进程的部分使用if # __name__ ==‘__main__’ 判断保护起来,import 的时候 ,就不会递归运行了。 p=Process(target=process1) #调用函数 p.start() #启动函数
给process传参数
import os import time from multiprocessing import Process def process1(n,name): print(‘process1:‘,os.getppid()) print(‘n:‘,n,name) time.sleep(1) if __name__ == ‘__main__‘: print(os.getppid()) # 获取当前进程id p = Process(target=process1,args=[1,‘alex‘]) # 调用函数并传参 p.start() # 启动进程
以上是关于multiprocess模块的主要内容,如果未能解决你的问题,请参考以下文章
Python多进程 - subprocess & multiprocess