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 字符串中的字符倒转
Sep 06 Python
Python Tkinter GUI编程入门介绍
Mar 10 Python
Python爬取网易云音乐热门评论
Mar 31 Python
node.js获取参数的常用方法(总结)
May 29 Python
Python编程之序列操作实例详解
Jul 22 Python
numpy.transpose对三维数组的转置方法
Apr 17 Python
python入门之井字棋小游戏
Mar 05 Python
Python 没有main函数的原因
Jul 10 Python
详解python with 上下文管理器
Sep 02 Python
python绘制汉诺塔
Mar 01 Python
Pytorch 使用tensor特定条件判断索引
Apr 08 Python
Python Parser的用法
May 12 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
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
php变量作用域的深入解析
2013/06/03 PHP
php使用类继承解决代码重复的问题
2015/02/11 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
js下用层来实现select的title提示属性
2010/02/23 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
2016/01/14 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
[01:08]DOTA2次级职业联赛 - Wings 战队宣传片
2014/12/01 DOTA
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
python中使用序列的方法
2015/08/03 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
Django实现celery定时任务过程解析
2020/04/21 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
HTML5新标签兼容——> 的两种方法
2018/09/12 HTML / CSS
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
企业管理专业个人求职信范文
2013/09/24 职场文书
高一新生军训感言
2014/03/02 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
离婚协议书范本
2015/01/26 职场文书
2015年幼儿园安全工作总结
2015/05/12 职场文书
高一军训口号
2015/12/25 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书