python使用线程封装的一个简单定时器类实例

691次阅读  |  发布于5年以前

本文实例讲述了python使用线程封装的一个简单定时器类。分享给大家供大家参考。具体实现方法如下:


    from threading import Timer
    class MyTimer:
     def __init__(self):
     self._timer= None
     self._tm = None
     self._fn = None
     def _do_func(self):
     if self._fn:
      self._fn()
      self._do_start()
     def _do_start(self):
     self._timer = Timer(self._tm, self._do_func)
     self._timer.start()
     def start(self, tm, fn):
     self._fn = fn
     self._tm = tm
     self._do_start()
     def stop(self):
     try:
      self._timer.cancel()
     except:
      pass
    def hello():
     from datetime import datetime
     print("hello world!", datetime.now())
    if __name__ == '__main__':
     mt = MyTimer()
     mt.start(2, hello)
     for i in range(10):
     import time
     time.sleep(1)
     mt.stop()

希望本文所述对大家的Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8