标签: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