【python】计时器实时监视任务进度[限时任务]

#下面代码是一个简单的计时器监视任务在指定时间内是否完成,如果任务完成,则结束任务,如果超过任务时间未完成,则判定任务失败。

思路论述:

1.threading.Timer

利用threading.Timer设置限时任务的时间范围,超过时间则判定任务失败。

2.while

为了实时监视任务是否完成,采取了while循环进行判定,但持续while判定会影响性能,因此再采用一个time.sleep,每过1s确认一次进度。

3.self属性

使用类的self属性可以类中通用,当任务完成时如图中例子则self.jk=1,然后暂停上方的threading.Timer,并打印任务完成。同时用self.ol控制循环,这样在任务完成的同时循环也会结束。

# -- coding: utf-8 --
import threading
import time
class ee():
    def __init__(self, args):
        self.args=args
        self.jk=0
        self.ol=0
    print("yes")
    def yunx(self):
        def my_task():
            print("任务失败")
        timer = threading.Timer(10, my_task)  # 10秒后核实任务
        timer.start()
        def stop():
            print("任务完成...")
        interval = 1  # 间隔1秒
        while 1-bool(self.ol):
            self.jk=self.jk+1
            print(self.jk)
            if self.jk==5:
                self.ol=1
                timer.cancel()
                stop()
            time.sleep(interval)

au=ee(2)
au.yunx()

码字不易,如有帮助留个赞再走咯。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值