用Python编写简单的定时器的方法
下面介绍以threading模块来实现定时器的方法。
首先介绍一个最简单实现:
importthreading defsay_sth(str): printstr t=threading.Timer(2.0,say_sth,[str]) t.start() if__name__=='__main__': timer=threading.Timer(2.0,say_sth,['iamheretoo.']) timer.start()
不清楚在某些特殊应用场景下有什么缺陷否。
下面是所要介绍的定时器类的实现:
classTimer(threading.Thread): """ verysimplebutuselesstimer. """ def__init__(self,seconds): self.runTime=seconds threading.Thread.__init__(self) defrun(self): time.sleep(self.runTime) print"Buzzzz!!Time'sup!" classCountDownTimer(Timer): """ atimerthatcancountsdowntheseconds. """ defrun(self): counter=self.runTime forsecinrange(self.runTime): printcounter time.sleep(1.0) counter-=1 print"Done" classCountDownExec(CountDownTimer): """ atimerthatexecuteanactionattheendofthetimerrun. """ def__init__(self,seconds,action,args=[]): self.args=args self.action=action CountDownTimer.__init__(self,seconds) defrun(self): CountDownTimer.run(self) self.action(self.args) defmyAction(args=[]): print"Performingmyactionwithargs:" printargs if__name__=="__main__": t=CountDownExec(3,myAction,["hello","world"]) t.start()
热门推荐
10 喜得孙子祝福语简短唯美
11 婚礼祝福语简短朴实大众
12 员工周年祝福语大全简短
13 家长回复节日祝福语简短
14 简短生日祝福语老同学
15 夜雨祝福语简短10字
16 蛋糕祝福语简短闺蜜
17 部门过年祝福语简短独特
18 简短精炼的结婚祝福语