继承Process类,run函数的简单使用

本文通过定义一个继承自multiprocessing.Process的Download类,演示了如何使用Python进行多进程编程。子进程执行下载任务并报告其运行时间。

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

#定义一个类 继承Process类
from multiprocessing import Process
import os
import time
class Download(Process):
    def __init__(self,interval):
        Process.__init__(self)
        self.interval = interval

    def run(self):
        t_start = time.time()
        print('子进程(%s)开始执行,父进程为(%s)'%(os.getpid(),os.getppid()))

        time.sleep(self.interval)
        t_stop = time.time()
        print("(%s)子进程执行结束,耗时%f秒"%(os.getpid(),t_stop-t_start))

#主进程
if __name__ == "__main__":
    #主进程开始时间
    t_start = time.time()
    print("当前程序的进程id: (%s)"%os.getpid())
    #调用Download函数 p就是生成的一个子进程 2传给init魔术方法
    #每次实例化的时候就相当于实例化了一个进程
    p = Download(2)
    p.start()
    #一直阻塞到子进程执行完 才开始执行主进程 实现进程同步
    #判断是否进程是否还在执行 True or False
    print(p.is_alive())
    p.join(2)
    if p.is_alive() == True:
        #等待子进程2秒 过时立即终止子进程p
        p.terminate()
    print(p.is_alive())
    t_stop = time.time()
    print("(%s)主进程执行结束,耗时%f秒" % (os.getpid(), t_stop - t_start))

 

转载于:https://www.cnblogs.com/zhangboblogs/p/8623540.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值