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函数的笔记整理
Apr 07 Python
python 线程的暂停, 恢复, 退出详解及实例
Dec 06 Python
Python使用pickle模块存储数据报错解决示例代码
Jan 26 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
在python下使用tensorflow判断是否存在文件夹的实例
Jun 10 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
Aug 27 Python
Python + selenium + crontab实现每日定时自动打卡功能
Mar 31 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
Apr 21 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
Apr 24 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 Python
Python使用eval函数执行动态标表达式过程详解
Oct 17 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
SSI指令
2006/11/25 PHP
基于php和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
超实用的JavaScript代码段 附使用方法
2016/05/22 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
Javascript中构造函数要注意的一些坑
2017/01/23 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
vue省市区三联动下拉选择组件的实现
2017/04/28 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
简单了解JavaScript sort方法
2019/11/25 Javascript
跟老齐学Python之一个免费的实验室
2014/09/14 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
pycharm远程调试openstack代码
2017/11/21 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
Python面向对象实现方法总结
2020/08/12 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
经贸专业毕业生求职信范文
2014/05/01 职场文书
员工年终自我评价
2014/09/14 职场文书
2014个人年度工作总结
2014/12/15 职场文书
长江三峡导游词
2015/01/31 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
Django + Taro 前后端分离项目实现企业微信登录功能
2022/04/07 Python
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS