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正则表达式操作指南(re使用)
Sep 06 Python
python中使用smtplib和email模块发送邮件实例
Apr 22 Python
Python中的字典遍历备忘
Jan 17 Python
python实现2048小游戏
Mar 30 Python
Python表示矩阵的方法分析
May 26 Python
Python矩阵常见运算操作实例总结
Sep 29 Python
pytorch 在sequential中使用view来reshape的例子
Aug 20 Python
Python如何优雅获取本机IP方法
Nov 10 Python
解决pytorch-yolov3 train 报错的问题
Feb 18 Python
Python文件操作基础流程解析
Mar 19 Python
Python实战之实现简易的学生选课系统
May 25 Python
python对文档中元素删除,替换操作
Apr 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之数据库操作详解及乱码解决!
2007/01/02 PHP
php中的实现trim函数代码
2007/03/19 PHP
php下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
Yii框架安装简明教程
2020/05/15 PHP
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
js取得url地址参数实例
2013/02/22 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
2014/07/23 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
Python机器学习logistic回归代码解析
2018/01/17 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
python实现银行实战系统
2020/02/26 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
Python之变量类型和if判断方式
2020/05/05 Python
C语言笔试题
2014/09/04 面试题
工程造价管理专业大专生求职信
2013/10/06 职场文书
学生实习推荐信范文
2013/11/26 职场文书
夜不归宿检讨书
2014/02/25 职场文书
数字化校园建设方案
2014/05/03 职场文书
体育专业自荐书
2014/05/29 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
超市采购员岗位职责
2015/04/07 职场文书