用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()
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下