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导入oracle数据的方法
Jul 10 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
Php多进程实现代码
May 07 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
Flask框架响应、调度方法和蓝图操作实例分析
Jul 24 Python
python开发准备工作之配置虚拟环境(非常重要)
Feb 11 Python
关于Numpy中的行向量和列向量详解
Nov 30 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
Feb 28 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
Apr 08 Python
python3.4中清屏的处理方法
Jul 06 Python
Pycharm常用快捷键总结及配置方法
Nov 14 Python
python3实现简单飞机大战
Nov 29 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
web方式ftp
2006/10/09 PHP
收集的DedeCMS一些使用经验
2007/03/17 PHP
PHP Stream_*系列函数
2010/08/01 PHP
php/js获取客户端mac地址的实现代码
2013/07/08 PHP
PHP生成等比缩略图类和自定义函数分享
2014/06/25 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
对javascript继承的理解
2016/10/11 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
JS组件系列之JS组件封装过程详解
2017/04/28 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
2020/11/09 Javascript
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
django 消息框架 message使用详解
2019/07/22 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
经济实惠的名牌太阳镜和眼镜:Privé Revaux
2021/02/07 全球购物
机械系大学毕业生推荐信
2013/11/27 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
财务人员入职担保书
2015/09/22 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
深入理解go缓存库freecache的使用
2022/02/15 Golang
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python