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

结果:

posted @ 2019-12-14 19:39  手可摘星辰。  阅读(280)  评论(0编辑  收藏  举报