zoukankan      html  css  js  c++  java
  • 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()

    结果:

  • 相关阅读:
    GCC 里面的一些命令
    Servlet中的GET和POST之间的区别
    短暂的计算机职业生涯
    如何写详细设计文档
    exe4j打包jar文件成exe .
    android反编译问题
    OnScrollListener拖住主线程
    涵盖Android所有知识点的小实例
    屏蔽log
    sdk调低版本时,clean后失去R文件
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/12040638.html
Copyright © 2011-2022 走看看