from multiprocessing import Process
import time
import os
# 继承Process类
class ProcessClass(Process):
# Process类本身也有__init__方法,如果没有初始化,就不能使用从这个类继承的一些方法和属性,
# 最好的方法就是将继承类本身传递给Process.__init__方法,完成这些初始化操作
def __init__(self, interval):
Process.__init__(self)
self.interval = interval
def run(self): # 重写Process类的run()方法
print("子进程(%s) 开始执行,父进程为(%s)" % (os.getpid(), os.getppid()))
time_start = time.time()
time.sleep(self.interval)
time_stop = time.time()
print("(%s)执行结束,耗时%0.2f秒" % (os.getpid(), time_stop - time_start))
def main():
t_start = time.time()
print("当前程序进程(%s)" % os.getpid())
p1 = ProcessClass(2) # 对一个不包含target属性的Process类执行start()方法,就会运行这个类中的run()方法,所以这里会执行p1.run()
p1.start()
p1.join()
t_stop = time.time()
print("(%s)执行结束,耗时%0.2f" % (os.getpid(), t_stop - t_start))
if __name__ == "__main__":
main()
Python-进程-继承Process类实现进程
最新推荐文章于 2024-02-11 16:45:00 发布