用类创建子进程

用类创建子进程

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))

  输出结果:

 

posted @ 2018-01-18 10:08  安迪9468  阅读(118)  评论(0编辑  收藏  举报