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

    结果:

  • 相关阅读:
    ABAP-FI-Redirection of read accesses from ANEA to FAAV_ANEA failed
    招聘
    五分钟教你在长沙如何找到靠谱的驾校和教练(长沙找驾校)
    数组哪些方法能改变原数组,以及循环改变数组的情况
    FXGL游戏开发-JavaFX游戏框架
    tempermonkey.d.ts | 油猴函数类型
    post导出文件
    mescroll.js 使用
    查看托管应用池用法
    IDEA配置
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/12040638.html
Copyright © 2020-2023  润新知