python使用线程封装的一个简单定时器类实例

   本文实例讲述了python使用线程封装的一个简单定时器类。分享给大家供大家参考。具体实现方法如下:

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

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程序设计有所帮助。

时间: 2016-05-18

python使用线程封装的一个简单定时器类实例的相关文章

自己封装的一个简单的倒计时功能实例_javascript技巧

因为平常工作中很常用到该功能,所以就利用这次国庆假期,重新梳理与对原有代码进行改善,再集成一个常用的功能,最终封装出这个"简单倒计时"功能. 该倒计时方法具有以下该功能: 1. 根据指定日期与当前的电脑时间进行匹配 2. 通过指定一个数组参数,来设置在每一天内不同的时间段进行倒计时. * 该方法还未通过实际工作的检测,稳定性未知(如果实际工作通过,会删除这段话) function countDown(date,target,filter){ var setTime = new Date

c#-求大神来帮助C#,一个简单学生类

问题描述 求大神来帮助C#,一个简单学生类 定义枚举类型 Public enum SexType {男, 女, 未知}: Public enum ProTitle (助教,讲师,副教授.教授.未知) Public enum StuTitle {班长,副班长,学委,学员} 定义下面类 Person类(抽象类) 包含的字段:姓名Name(字符串型).身高Height(单精度型,单位:米).体重Weight(单精度,单位:kg).性别Sex(枚举类型SexType) 包含的属性:身份证号ID(字符串型

《Wireshark网络分析就这么简单》—小试牛刀:一个简单的应用实例

小试牛刀:一个简单的应用实例Wireshark网络分析就这么简单我的老板气宇轩昂,目光笃定,在人群中颇有大将风范(当然是老板娘不在场的时候).有一年我们在芝加哥流落街头,也没见他皱过眉头.不过前几天,这位气场型领导竟然板着脸跑过来,说赶紧帮忙,有位同事被客户骂惨了.我当然不能拒绝帮(yao)助(qiu)同(jia)事(xin)的机会,立即加入电话会议. 原来事情是这样的:客户不小心重启了服务器A,然后它就再也无法和服务器B通信了.由于这两台服务器之间传输的是关键数据,现场工程师又一时查不出原因,

使用Python的Twisted框架实现一个简单的服务器_python

预览  twisted是一个被设计的非常灵活框架以至于能够让你写出非常强大的服务器.这种灵活的代价是需要好通过好几个层次来实现你的服务器, 本文档描述的是Protocol层,你将在这个层次中执行协议的分析和处理,如果你正在执行一个应用程序,那么你应该在读过top level的为twisted写插件一节中的怎样开始写twisted应用程序之后阅读本章.这个文档只是和TCP,SSL和Unix套接字服务器有关,同时也将有另一份文档专门讲解UDP.   你的协议处理类通常是twisted.interne

java 使用线程做的一个简单的ATM存取款实例代码_java

实现Runnable接口.当一个线程已继承了另一个类时,就只能用实现Runnable接口的方法来创建线程,且便于保持程序风格的一致性. 我们知道,一个具有生命的线程,具有下面五种状态: 创建状态 使用new运算符创建一个线程后,该线程仅仅是一个空对象,系统没有分配资源,称该线程处于创建状态(new thread) 可运行状态 使用start()方法启动一个线程后,系统为该线程分配了除CPU外的所需资源,使该线程处于可运行状态(Runnable) 运行中状态 Java运行系统通过调度选中一个Run

Python操作json数据的一个简单例子_python

更多的信息,可以参考python内部的json文档: python>>> help(json) 或者官方文档: http://docs.python.org/library/json.html#module-json. 下面给出一个使用python解析json的简单例子: 复制代码 代码如下: #!/usr/bin/python import json #Function:Analyze json script #Json is a script can descript data st

使用wxpython实现的一个简单图片浏览器实例_python

上次我爬了n多图片,但是浏览的时候有一个问题. 图片浏览器的浏览一般都是按名称排的,而我对图片的命名是按照数字递增的.比如3总是会排在10后面,也就无法快速地浏览图片了. 所以,出于方便自己查阅图片,也出于学习,决定做一个自己的图片浏览器. 目标:浏览目录,通过滚轮不断显示同一个文件夹下的图片,并自定义排序. 步骤0:要实现图形界面,我使用wxPython. 至于如何安装和简单地使用wxpython,可以到网上检索,一大堆资料. 以下步骤默认你已经知道如何生成一个自己的frame. 步骤1:浏览

php和数据库结合的一个简单的web实例 代码分析 (php初学者)_php实例

然而,除了安装部分,有或多或少的针对于Windows的说明外,其它部分对所有的平台都是一样的.顺便说一下,关于安装部分,请看本站的安装指南.在这个教程中,我们将一步一步地建立一个小的网站,使用了PHP和MySQL的下面特性: 1. 查看数据库: 2. 编辑数据库的记录: 3. 修改数据库的记录: 4. 删除数据库的记录. 我们将同时学习MySQL和PHP,一起去感觉它们.本文直接从这里学,如果不会安装配置Apache+PHP+Mysql请查看网页教学网相关文章吧! 先运行web服务器(已增加PH

Lua程序设计(三)面向对象实现一个简单的类

 1.Lua面向对象实现步骤 ①创建一个全局表(称之为元表) ②设置这个元表的__index值(值通常为元表自己,这样就能通过__index查找到对应的属性和方法)__index 赋值其实是一个function的语法糖,Sharp.__index = Sharp等价于Sharp.__index = function(key) return Sharp[key] end    ③新建一个表,使用setmetatable方法将元表设置到这个新表中,那这个新表就能以对象的方式来调用对应的属性和方法了,