用python的tiwsted实现一个定时器
来源:互联网 发布:京东金融数据挖掘大赛 编辑:程序博客网 时间:2024/06/05 10:16
class Timer: def __init__(self): self.reactor = None self.interval = Interval() self.tple = None self.cancel_flag = False def update_reactor(self, reactor): self.reactor = reactor def schedule_timer(self, sec=0, usec=0): self.cancel_flag = False self.interval.sec = sec self.interval.usec = usec self.tple = self.reactor.callLater(self.interval.sec + self.interval.usec / 1000000, self.time_out) def cancel_timer(self): if (self.tple != None and self.tple.called == False): self.tple.cancel() self.tple = None if (self.tple != None and self.tple.called == True): self.cancel_flag = True self.tple = None def time_out(self): if (self.cancel_flag == False): self.handle_timeout() if (self.cancel_flag == False): self.reactor.callLater(self.interval.sec + self.interval.usec / 1000000, self.time_out) def handle_timeout(self): pass
上网百度了半天,都没有用twsited实现一个完全意义上的定时器。网上资料好多都有callLater的用法。。却没用取消定时器的资料。。还是自已动手丰衣足食啊。
看了一下reactor的源码。callLater回返回一个DelayedCall的对像。。就是上面tple的对像。。twisted也用tple命名的。。这个DelayedCall里面有个叫cancel方法。。是取消定时器的。还要注意的是.如果这个定时器已经触发了,再cancel的话。。会报异常的。。所有cancel的时候要判断一下DelayedCall里的一个字段called..
- 用python的tiwsted实现一个定时器
- Python定时器的一个实现
- [Java定时器]用Spring Task实现一个简单的定时器.
- 用javascript实现的一个定时器
- 如何用python实现一个多线程定时器
- 8e 用定时器实现一个简单的取色器
- 定时器实现动画的一个例子
- 一个简单定时器的实现(C++)
- 基于HashedWheelTimer的一个定时器实现
- 一个简单定时器的实现(C++)
- 模仿linux内核定时器代码,用python语言实现定时器
- 怎么实现一个定时器?
- Python写的一个优美的定时器,定时精度可调
- Python开启一个线程定时器
- linux内核定时器--------一个简单的timer的实现
- python通过线程实现定时器timer的代码
- Python的定时器
- Python的定时器
- C语言四舍五入函数
- java测试错误集 -Spring
- IOS里面一些基础类型的使用点
- MFC ODBC 用法
- java经典面试题/java基础
- 用python的tiwsted实现一个定时器
- cocos2d中.plist文件的使用
- Novatek Graphics
- AIX操作命令
- 《深入理解java虚拟机》学习笔记7——Java虚拟机类生命周期
- js中arguments的使用
- 提高班一年,我的变化
- cocos2d中CCMutableArray动态添加对象和删除对象的方法
- APK 安装过程 及 原理 详解