import os
from multiprocessing import Process
# 创建一个自定义类,继承Process类
class MyProcess(Process):
# 必须实现一个run方法,run方法中是子进程中执行的代码
def run(self):
print('子进程:',os.getpid()) if __name__ == '__main__':
print('主进程',os.getpid())
p1 = MyProcess()
p1.start()
p2 = MyProcess()
p2.start()
结果:
2.进程号和进程名
import os
from multiprocessing import Process class MyProcess(Process):
def run(self):
print('子进程:',os.getpid())
print(self.name) #打印进程名
print(self.pid) #打印进程号,这里的进程号和os.getpid的进程号是一样的 if __name__ == '__main__':
print('主进程',os.getpid())
p1 = MyProcess()
p1.start()
p2 = MyProcess()
p2.start()
结果:
3.传递参数
from multiprocessing import Process class MyProcess(Process):
def __init__(self,arg1,arg2): #使用构造方法接收传递进来的参数
super().__init__() #调用父类的__init__方法
self.arg1 = arg1 #把传进的的参数绑给self
self.arg2 = arg2 def run(self):
print(self.name) #打印进程名
print(self.pid) #打印进程号,这里的进程号和os.getpid的进程号是一样的
print(self.arg1)
print(self.arg2) if __name__ == '__main__':
p1 = MyProcess('wdc',1) #传递两个参数
p1.start()
p2 = MyProcess('yhf',2) #传递两个参数
p2.start()
结果: