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

Posted 手可摘星辰。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

结果:

以上是关于python_并发编程——多进程的第二种启动方式的主要内容,如果未能解决你的问题,请参考以下文章

python_并发编程——进程池

python学习_day35_并发编程之多进程3

Python并发编程之多线程

python-并发编程之多进程

14.9属性的第二种表达方式

python并发编程之多进程:进程开启方式&多进程