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

    结果:

  • 相关阅读:
    poj 1017 Packets
    hdu 1058 The sum problem
    HDU 1205 吃糖果
    Hdu 1004 Let the Balloon Rise map解决方法
    poj 1700 贪心算法(1)
    大数计算器
    大整数的加减乘除取模
    【单调队列】poj 2823 Sliding Window
    【单调队列】bzoj 1407 [HAOI2007]理想的正方形
    【单调队列+二分查找】bzoj 1012: [JSOI2008]最大数maxnumber
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/12040638.html
Copyright © 2020-2023  润新知