对python周期性定时器的示例详解


Posted in Python onFebruary 19, 2019

一、用thread实现定时器

py_timer.py文件

#!/usr/bin/python
#coding:utf-8

import threading
import os
import sys

class _Timer(threading.Thread):
  def __init__(self, interval, function, args=[], kwargs={}):
    threading.Thread.__init__(self)
    self.interval = interval 
    self.function = function
    self.args = args
    self.kwargs = kwargs
    self.finished = threading.Event()

  def cancel(self):
    self.finished.set() 

  def run(self):
    self.finished.wait(self.interval) 
    if not self.finished.is_set():
      self.function(*self.args, **self.kwargs)
    self.finished.set()
    
class LoopTimer(_Timer):
  def __init__(self, interval, function, args=[], kwargs={}):
    _Timer.__init__(self, interval, function, args, kwargs)

  def run(self):
    while True:
      if not self.finished.is_set():
        self.finished.wait(self.interval)
        self.function(*self.args, **self.kwargs) 
      else:
        break


def testlooptimer():
  print("loop timer")


if __name__ == '__main__':
  t = LoopTimer(3.0,testlooptimer)
  t.start()

二、 使用

import py_timer

def serv_start():
#Perform first fork.
try:
      thread_timer = py_timer.LoopTimer(timeout, start_timer)
      thread_timer.start()
      thread_timer.cancel() #

    except Exception, ex:                            
      print("daemon: %s %s", type(ex), ex)



def start_timer():

print 'hello'

以上这篇对python周期性定时器的示例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 实现一个贴吧图片爬虫的示例
Oct 12 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 Python
idea创建springMVC框架和配置小文件的教程图解
Sep 18 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
python使用插值法画出平滑曲线
Dec 15 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 Python
Django ORM 查询管理器源码解析
Aug 05 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
Aug 09 Python
django删除表重建的实现方法
Aug 28 Python
python模块导入的方法
Oct 24 Python
在Django中实现添加user到group并查看
Nov 18 Python
opencv python在视屏上截图功能的实现
Mar 05 Python
Python3数字求和的实例
Feb 19 #Python
对Python定时任务的启动和停止方法详解
Feb 19 #Python
python的schedule定时任务模块二次封装方法
Feb 19 #Python
Python3 max()函数基础用法
Feb 19 #Python
Python3 log10()函数简单用法
Feb 19 #Python
Python3中exp()函数用法分析
Feb 19 #Python
详解Python3中ceil()函数用法
Feb 19 #Python
You might like
PHP CURL 多线程操作代码实例
2015/05/13 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
区分JS中的undefined,null,"",0和false
2007/03/08 Javascript
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
Jquery选择器 $实现原理
2009/12/02 Javascript
超越Jquery_01_isPlainObject分析与重构
2010/10/20 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
JS中处理时间之setUTCMinutes()方法的使用
2015/06/12 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
Vue实现图片与文字混输效果
2019/12/04 Javascript
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
python中的字典使用分享
2016/07/31 Python
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
Python中django学习心得
2017/12/06 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
python如何实现图片压缩
2020/09/11 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
财务管理专业求职信
2014/06/11 职场文书
学校工作推荐信范文
2014/07/11 职场文书
2014年电工工作总结
2014/11/20 职场文书
挂靠协议书
2015/01/27 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
Python如何识别银行卡卡号?
2021/06/10 Python
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android