标签:div proc tps copyright process类 pre 父类 start 顺序
开进程的两种方式:
1. 使用内置的进程
#!/usr/bin/env python #coding:utf-8 #Created by Andy @ 2017/9/17 from multiprocessing import Process import os def get_id(name): print(name,"Main process:",os.getppid(),"current process;", os.getpid()) P1 = Process(target=get_id, args=(‘andy‘,)) P2 = Process(target = get_id, args=("Jack", )) if __name__ == "__main__": P2.start() P1.start() print("主进程")
2. 自定义进程类:
from multiprocessing import Process import os class Custom_Process(Process): def __init__(self, name): super().__init__() self.name = name def run(self): print(self.name, "Main process:", os.getppid(), "current process;", os.getpid()) if __name__ == "__main__": P1 = Custom_Process(‘andy‘) P2 = Custom_Process("jack") P1.start() P2.start() print("主进程")
事实上在调用P1.start时,系统调用了Process类的run方法,在我们直接调用Process类时,
我们需要指定target(即要进行的操作,参数args),那么定制后我们重写了run方法,即重写的
run方法。
在Custom_Process类中我用到了
super().__init__()
这是重写父类的方法之一,另一种方法是:
Parent.__init__(self)
关于super().__init__()事实上并不是调用父类,而是寻找继承顺序中的下一个
具体可以参考:Python’s super() considered super!
标签:div proc tps copyright process类 pre 父类 start 顺序
原文地址:http://www.cnblogs.com/Andy963/p/7535378.html