当前位置: 移动技术网 > IT编程>脚本编程>Python > python通过线程实现定时器timer的方法

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

2019年05月25日  | 移动技术网IT编程  | 我要评论

浔阳区政府网,e78范文网,ted演讲是什么

本文实例讲述了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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网