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自动化测试工具Splinter简介和使用实例
May 13 Python
python进阶教程之模块(module)介绍
Aug 30 Python
Python写的Tkinter程序屏幕居中方法
Mar 10 Python
Python中SOAP项目的介绍及其在web开发中的应用
Apr 14 Python
Python中使用items()方法返回字典元素对的教程
May 21 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
10款最好的Python开发编辑器
Jul 03 Python
Python2与Python3的区别详解
Feb 09 Python
pycharm运行程序时看不到任何结果显示的解决
Feb 21 Python
基于Python爬取素材网站音频文件
Oct 21 Python
Python中基础数据类型 set集合知识点总结
Aug 02 Python
如何在python中实现ECDSA你知道吗
Nov 23 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的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
php格式化时间戳
2016/12/17 PHP
php图片裁剪函数
2018/10/31 PHP
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
CSS或者JS实现鼠标悬停显示另一元素
2016/01/22 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
详解Python中的文本处理
2015/04/11 Python
Python中数字以及算数运算符的相关使用
2015/10/12 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
python操作列表的函数使用代码详解
2017/12/28 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
深入了解Python enumerate和zip
2020/07/16 Python
Myprotein芬兰官网:欧洲第一运动营养品牌
2019/05/05 全球购物
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
部队党性分析材料
2014/02/16 职场文书
金融管理毕业生求职信
2014/03/03 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
python 管理系统实现mysql交互的示例代码
2021/12/06 Python
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript