Python-进程-继承Process类实现进程

本文介绍了一个基于Python的多进程应用实例,通过自定义Process类并重写run()方法,实现了一个可以延迟执行并报告执行时间和PID的子进程。文章详细解释了如何启动和管理子进程,展示了多进程在Python中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值