您好,欢迎来到汽车vr网。
搜索
您的当前位置:首页python通过线程实现定时器timer的方法

python通过线程实现定时器timer的方法

来源:汽车vr网


本文实例讲述了python通过线程实现定时器timer的方法。分享给大家供大家参考。具体分析如下:

这个python类实现了一个定时器效果,调用非常简单,可以让系统定时执行指定的函数

下面介绍以threading模块来实现定时器的方法。

使用前先做一个简单试验:

import threading
def sayhello():
 print "hello world"
 global t #Notice: use global variable!
 t = threading.Timer(5.0, sayhello)
 t.start()
t = threading.Timer(5.0, sayhello)
t.start()

运行结果如下:

>python hello.py
hello world
hello world
hello world

下面是定时器类的实现:

class Timer(threading.Thread):
 """
 very simple but useless timer.
 """
 def __init__(self, seconds):
 self.runTime = seconds
 threading.Thread.__init__(self)
 def run(self):
 time.sleep(self.runTime)
 print "Buzzzz!! Time's up!"
class CountDownTimer(Timer):
 """
 a timer that can counts down the seconds.
 """
 def run(self):
 counter = self.runTime
 for sec in range(self.runTime):
 print counter
 time.sleep(1.0)
 counter -= 1
 print "Done"
class CountDownExec(CountDownTimer):
 """
 a timer that execute an action at the end of the timer run.
 """
 def __init__(self, seconds, action, args=[]):
 self.args = args
 self.action = action
 CountDownTimer.__init__(self, seconds)
 def run(self):
 CountDownTimer.run(self)
 self.action(self.args)
def myAction(args=[]):
 print "Performing my action with args:"
 print args
if __name__ == "__main__":
 t = CountDownExec(3, myAction, ["hello", "world"])
 t.start()

以上代码在Python 2.5.4中运行通过

希望本文所述对大家的Python程序设计有所帮助。

Copyright © 2019- qichevr.com 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务