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输出一个杨辉三角的例子
Jun 13 Python
Python Queue模块详细介绍及实例
Dec 27 Python
Python+Wordpress制作小说站
Apr 14 Python
python for循环输入一个矩阵的实例
Nov 14 Python
Python 判断奇数偶数的方法
Dec 20 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
Jan 08 Python
python协程之动态添加任务的方法
Feb 19 Python
Python实现的排列组合、破解密码算法示例
Apr 12 Python
python 字典 setdefault()和get()方法比较详解
Aug 07 Python
NumPy统计函数的实现方法
Jan 21 Python
python爬虫调度器用法及实例代码
Nov 30 Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 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利用curl抓取新浪微博内容示例
2014/04/27 PHP
自己封装的常用javascript函数分享
2015/01/07 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
vue组件学习教程
2017/09/09 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
python调用java的Webservice示例
2014/03/10 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
PyQt5组件读取参数的实例
2019/06/25 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
美国内衣品牌:Leonisa
2016/08/14 全球购物
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
工商技校毕业生自荐信
2013/11/15 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
小学生新年寄语
2014/04/03 职场文书
土建施工员岗位职责
2014/07/16 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python