一个定时器程序(线程支持)


                功能:添加了线程支持
               
               
                from threading import Thread
import time
class ModifiedTimer(Thread):
    def __init__(self, interval, maxtime, target):
        self.__interval = interval
        self.__maxtime = maxtime
        self.__tottime = 0.0
        self.__target = target
        self.__flag = 0
        Thread.__init__(self, None, 'mytimer', None)
    def run(self):
   
        while self.__flag==0:
            time.sleep(self.__interval)
            self.__target()
            self.__tottime += self.__interval
        
        if self.__tottime >= self.__maxtime:
            print 'Timing out...'
            self.end()
    def end(self):
        self.__flag=1
class MyTimer:
    def __init__(self):
        self.__interval = 5.0
    def __timerfunc(self):
        print 'Hello, this is the timer function!'
    def make_timer(self, interval):
        self.__interval = interval
        self.__timer = ModifiedTimer(self.__interval, 20.0, self.__timerfunc)
        self.__timer.start()
if __name__=="__main__":
    t=MyTimer()
    t.make_timer(10.0)
    while True:
        pass