python_并发编程——多进程的第二种启动方式

1.多进程的第二种启动方式

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()

结果:

原文地址:https://www.cnblogs.com/wangdianchao/p/12040638.html