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实现从订阅源下载图片的方法
Mar 11 Python
简化Python的Django框架代码的一些示例
Apr 20 Python
python按行读取文件,去掉每行的换行符\n的实例
Apr 19 Python
对tf.reduce_sum tensorflow维度上的操作详解
Jul 26 Python
用vue.js组件模拟v-model指令实例方法
Jul 05 Python
python将print输出的信息保留到日志文件中
Sep 27 Python
Python箱型图绘制与特征值获取过程解析
Oct 22 Python
python3将变量写入SQL语句的实现方式
Mar 02 Python
使用keras和tensorflow保存为可部署的pb格式
May 25 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 Python
Python3+selenium配置常见报错解决方案
Aug 28 Python
windows安装python超详细图文教程
May 21 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
PHP遍历二维数组的代码
2011/04/22 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
2014/04/01 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
Zend Framework教程之Autoloading用法详解
2016/03/08 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
jQuery textarea的长度进行验证
2009/05/06 Javascript
JavaScript框架(iframe)操作总结
2014/04/16 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
js倒计时简单实现方法
2015/12/17 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
浅谈JsonObject中的key-value数据解析排序问题
2017/12/06 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
vue+node实现图片上传及预览的示例方法
2018/11/22 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
python实现逆波兰计算表达式实例详解
2015/05/06 Python
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
python的launcher用法知识点总结
2020/08/07 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
工商企业管理应届生求职信
2013/11/03 职场文书
九年级数学教学反思
2014/02/02 职场文书
电影圆明园观后感
2015/06/03 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技