python用线程封装的一个简单的定时器类
python用线程封装的一个简单的定时器类,直接调用类可以实现间隔多长时间执行指定代码
""" 皮蛋编程(https://www.pidancode.com) 创建日期:2022/3/28 功能描述: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 pidancode.com", datetime.now()) if __name__ == '__main__': mt = MyTimer() mt.start(2, hello) for i in range(10): import time time.sleep(1) mt.stop()
输出结果如下:
hello pidancode.com 2022-03-28 08:27:40.909818
hello pidancode.com 2022-03-28 08:27:42.912251
hello pidancode.com 2022-03-28 08:27:44.916440
相关文章