本文实例讲述了python通过线程实现定时器timer的方法。分享给大家供大家参考。具体分析如下:

这个python类实现了一个定时器效果,调用非常简单,可以让系统定时执行指定的函数

下面介绍以threading模块来实现定时器的方法。

使用前先做一个简单试验:

import threading

def sayhello():

print "hello world"

global t #Notice: use global variable!

t = threading.Timer(5.0, sayhello)

t.start()

t = threading.Timer(5.0, sayhello)

t.start()

运行结果如下:

>python hello.py

hello world

hello world

hello world

下面是定时器类的实现:

class Timer(threading.Thread):

"""

very simple but useless timer.

"""

def __init__(self, seconds):

self.runTime = seconds

threading.Thread.__init__(self)

def run(self):

time.sleep(self.runTime)

print "Buzzzz!! Time's up!"

class CountDownTimer(Timer):

"""

a timer that can counts down the seconds.

"""

def run(self):

counter = self.runTime

for sec in range(self.runTime):

print counter

time.sleep(1.0)

counter -= 1

print "Done"

class CountDownExec(CountDownTimer):

"""

a timer that execute an action at the end of the timer run.

"""

def __init__(self, seconds, action, args=[]):

self.args = args

self.action = action

CountDownTimer.__init__(self, seconds)

def run(self):

CountDownTimer.run(self)

self.action(self.args)

def myAction(args=[]):

print "Performing my action with args:"

print args

if __name__ == "__main__":

t = CountDownExec(3, myAction, ["hello", "world"])

t.start()

以上代码在Python 2.5.4中运行通过

希望本文所述对大家的Python程序设计有所帮助。

python定时器timer_python通过线程实现定时器timer的方法相关推荐

  1. python定时器每月执行一次_python 定时器,实现每天凌晨3点执行的方法

    python 定时器,实现每天凌晨3点执行的方法 如下所示: ''' Created on 2018-4-20 例子:每天凌晨3点执行func方法 ''' import datetime import ...

  2. python定时器 循环_python从写定时器学习Thread

    python从写定时器学习Thread python 如何写一个定时器,循环定时做某一操作呢? Timer 对象 from threading import Timer def hello(): pr ...

  3. 无所不能的Python竟然没有一个像样的定时器?试试这个!

    所谓定时器,是指间隔特定时间执行特定任务的机制.几乎所有的编程语言,都有定时器的实现.比如,Java有util.Timer和util.TimerTask,JavaScript有setInterval和 ...

  4. python编写脚本方法_python 定时器,实现每天凌晨3点执行的方法

    如下所示: ''' Created on 2018-4-20 例子:每天凌晨3点执行func方法 ''' import datetime import threading def func(): pr ...

  5. 定时器实现方式之TimerTask、Timer

    在未来某个指定的时间点或者经过一段时间延迟后执行某个事件,这时候就需要用到定时器了.定时器的实现方式有很多种,今天总结最简单的实现方式.java 1.3引入了定时器框架,用于在定时器上下文中控制线程的 ...

  6. python 定时器、每天凌晨3点执行方法_python 定时器,实现每天凌晨3点执行的方法...

    python 定时器,实现每天凌晨3点执行的方法 发布时间:2020-09-21 02:30:36 来源:脚本之家 阅读:95 作者:姚贤贤 如下所示: ''' Created on 2018-4-2 ...

  7. 多线程、并发/并行、自定义线程类、线程安全、守护线程、定时器、线程状态、线程池

    目录 进程和线程: 进程: 线程: 多线程的好处: 线程调度: 分时调度: 抢占式调度: 并发与并行: 线程的生命周期: 实现线程的两种基本方式(还有第三种): 创建Thread线程类: 创建Runn ...

  8. java timertask 初始化_定时器实现方式之TimerTask、Timer

    在未来某个指定的时间点或者经过一段时间延迟后执行某个事件,这时候就需要用到定时器了.定时器的实现方式有很多种,今天总结最简单的实现方式.java 1.3引入了定时器框架,用于在定时器上下文中控制线程的 ...

  9. python 关闭 定时开启_Qt多种定时器

    介绍Qt的三种定时器QObject内置定时器,QBasicTimer,QTimer. QObject内部定时器 使用startTimer开启定时器,使用killTimer(int id)接口来关闭指定 ...

最新文章

  1. opencv 无法找到tbb_debug.dll
  2. 3D点云识别安全吗? 密歇根大学等提出稳健性分析数据集应对严重失真
  3. 从命令行运行 MyBatis Generator
  4. Linux学习之系统编程篇:mmap练习
  5. npm eject 暴露webpack报错,less或sass添加报错
  6. $《第一行代码:Android》读书笔记——第6章 数据持久化
  7. Go语言中时间轮的实现
  8. jQuery addClass
  9. 如何创建_重庆市百科如何创建
  10. find命令进阶用法(一)
  11. 重读《JAVA与模式》之二
  12. 前端基础 IE浏览器渲染-重置浏览器默认样式
  13. VHDL实现矩阵键盘
  14. java程序将asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv,mpeg,mpe,wmv9,rm,rmvb转MP4
  15. 读书笔记:《置身事内》
  16. 在内存只有10M的空间中申请一块5M的数组空间,会导致OOM吗?
  17. 虚拟云服务器能调用本地摄像头,云服务器本地摄像头
  18. 思成五笔的通俗易懂讲解
  19. XUPT第三届新生算法赛
  20. Java JCEF集成Chromium

热门文章

  1. PHP算法使用__call优化代码
  2. java set中元素是数组_将HashSet中的元素转换为Java中的数组
  3. tankwar的java坦克子弹撞墙_TankWar 单机(JAVA版)版本2.0.5 坦克撞墙的处理
  4. C语言是始祖,科技日历| 61年前,ALGOL语言创立!它是C语言等高级语言的直接“鼻祖”...
  5. python适配器模式角色_Python设计模式之适配器模式原理与用法详解
  6. windows2008开机占用多少内存_Android内存占用分析
  7. 广工计算机专业离散数学考试题,广工华立2014年离散数学期末考试试题(配答案)...
  8. c mysql 中文字符_在C#和MySQL中存取中文字符时避免乱码的方法
  9. oracle 多个实例互相切换实例
  10. endnote咋手动输入文献_endnote如何导入参考文献?如何手动导入EndNote