欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python通過(guò)線程實(shí)現(xiàn)定時(shí)器timer的方法

 更新時(shí)間:2015年03月16日 10:01:01   作者:chongq  
這篇文章主要介紹了python通過(guò)線程實(shí)現(xiàn)定時(shí)器timer的方法,涉及Python線程與定時(shí)器timer的使用技巧,需要的朋友可以參考下

本文實(shí)例講述了python通過(guò)線程實(shí)現(xiàn)定時(shí)器timer的方法。分享給大家供大家參考。具體分析如下:

這個(gè)python類(lèi)實(shí)現(xiàn)了一個(gè)定時(shí)器效果,調(diào)用非常簡(jiǎn)單,可以讓系統(tǒng)定時(shí)執(zhí)行指定的函數(shù)

下面介紹以threading模塊來(lái)實(shí)現(xiàn)定時(shí)器的方法。

使用前先做一個(gè)簡(jiǎn)單試驗(yàn):

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

運(yùn)行結(jié)果如下:

>python hello.py
hello world
hello world
hello world

下面是定時(shí)器類(lèi)的實(shí)現(xiàn):

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中運(yùn)行通過(guò)

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論