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


Posted in Python onMay 16, 2015

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python计算程序运行时间的方法
Dec 13 Python
Python Web框架Flask中使用百度云存储BCS实例
Feb 08 Python
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
利用Python的装饰器解决Bottle框架中用户验证问题
Apr 24 Python
Python中的默认参数详解
Jun 24 Python
python用户管理系统
Mar 13 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 Python
python 爬取B站原视频的实例代码
Sep 09 Python
Python 调用C++封装的进一步探索交流
Mar 04 Python
一篇文章弄懂Python中的内建函数
Aug 07 Python
利用For循环遍历Python字典的三种方法实例
Mar 25 Python
python通过函数属性实现全局变量的方法
May 16 #Python
Python中计算三角函数之cos()方法的使用简介
May 15 #Python
用Python计算三角函数之atan()方法的使用
May 15 #Python
Python计算三角函数之asin()方法的使用
May 15 #Python
用Python计算三角函数之acos()方法的使用
May 15 #Python
python实现一次创建多级目录的方法
May 15 #Python
python使用wmi模块获取windows下硬盘信息的方法
May 15 #Python
You might like
拼音码表的生成
2006/10/09 PHP
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
深入理解Vue transition源码分析
2017/07/30 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
Angular5集成eventbus的示例代码
2018/07/19 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
python 实现堆排序算法代码
2012/06/05 Python
在Python中使用HTMLParser解析HTML的教程
2015/04/29 Python
Python单例模式的两种实现方法
2017/08/14 Python
定制FileField中的上传文件名称实例
2017/08/23 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
python实现梯度下降算法
2020/03/24 Python
python实时检测键盘输入函数的示例
2019/07/17 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
浅谈CSS3动画的回调处理
2016/07/21 HTML / CSS
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
橄榄树药房:OLIVEDA
2019/09/01 全球购物
类的核心特性有哪些
2014/01/01 面试题
高分子材料个人求职信范文
2013/09/25 职场文书
12岁生日演讲稿
2014/05/14 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
运动会100米加油稿
2015/07/21 职场文书
教师节感想
2015/08/11 职场文书
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python