zoukankan      html  css  js  c++  java
  • python网编_通过面向对象开启子进程

    直接上代码:

    import os
    from multiprocessing import Process
    
    class MyProcess(Process):  # 这里创建一个类 继承Process
        def run(self):  # 必须写一个run方法
            print(os.getpid())
    
    
    if __name__ == '__main__':
        p = MyProcess()  # 用类进行实例化一个子进程③
        p.start()  # 这里启动子进程
        print('',os.getpid())

    这就通过面向对象开启了一个子进程,那么问题来了:

    通过面向对象的方式启动子进程,如何传递参数呢?(join一定能用,有机会再证明)
    如果直接在实例化③的过程中 p = MyProcess('参数') 这里传参会通过__init__(self):
    那机智的我就知道了啦 在MyProcess类中写一个__init__(self,name)方法,不就万事大吉了么,下班吃饭...
    太天真,凡事看霸特:Process中的__init__有很大作用我们绝对不能丢失。
      so,super().__init()的作用就体现出来了
    看下面:
    import os
    from multiprocessing import Process
    class MyProcess(Process):
        def __init__(self,name):  # 这里通过__init__传参给self
            super().__init__()  # 这里通super()执行父类中的__init__,就是Process类中的__init__,perfect!
            self.name = name
    
        def run(self):
            print(os.getpid(),self.name)
    
    
    if __name__ == '__main__':
        p = MyProcess('carrie')  # 这里实例化的时候传参
        p.start()
        p.join()
        print('',os.getpid())
  • 相关阅读:
    js键盘事件以及键盘事件拦截
    GO-&获取地址与*解引用
    Go-map
    第22课
    第21课
    第20课
    基于spring+quartz的分布式定时任务框架
    DeepLearning (三) 预处理:主成分分析与白化
    白化whitening
    如何使用RestTemplate访问restful服务
  • 原文地址:https://www.cnblogs.com/gzying-01/p/10371477.html
Copyright © 2011-2022 走看看