用类创建子进程
from multiprocessing import Process
import time
import os
import random
# 继承Process类
class ProcessClass(Process):
# 重写了Process类的run()方法
def run(self):
print("子进程(%s) 开始执行,父进程为(%s)" % (os.getpid(), os.getppid()))
t_start = time.time()
time.sleep(random.random() * 4)
t_stop = time.time()
print("(%s)执行结束,耗时%0.2f秒" % (os.getpid(), (t_stop - t_start)))
if __name__ == "__main__":
t_start = time.time()
print("当前程序进程(%s)" % os.getpid())
p1 = ProcessClass()
# 对一个不包含target属性的Process类执行start()方法,就会运行这个类中的run()方法,所以这里会执行p1.run()
p1.start()
p1.join()
t_stop = time.time()
print("(%s)执行结束,耗时%0.2f" % (os.getpid(), t_stop - t_start))
输出结果:
