python 定时器,轮询定时器的实例

yipeiwu_com6年前Python基础

python 定时器默认定时器只执行一次,第一个参数单位S,几秒后执行

import threading
 
def fun_timer():
 print('Hello Timer!')
 
timer = threading.Timer(1, fun_timer)
timer.start()

改成以下可以执行多次

建立loop_timer.py

from threading import _Timer
class LoopTimer(_Timer):
 """Call a function after a specified number of seconds: 
 
 
   t = LoopTi
   mer(30.0, f, args=[], kwargs={}) 
   t.start() 
   t.cancel()  # stop the timer's action if it's still waiting 
 
 
 """
 
 def __init__(self, interval, function, args=[], kwargs={}):
  _Timer.__init__(self, interval, function, args, kwargs)
 
 def run(self):
  '''self.finished.wait(self.interval) 
  if not self.finished.is_set(): 
   self.function(*self.args, **self.kwargs) 
  self.finished.set()'''
  while True:
   self.finished.wait(self.interval)
   if self.finished.is_set():
    self.finished.set()
    break
   self.function(*self.args, **self.kwargs)

调用

t = LoopTimer(120, fun_timer)
  t.start()

以上这篇python 定时器,轮询定时器的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python的Django框架中的URL配置与松耦合

现在是好时机来指出Django和URL配置背后的哲学: 松耦合 原则。 简单的说,松耦合是一个 重要的保证互换性的软件开发方法。 Django的URL配置就是一个很好的例子。 在Djan...

python多任务及返回值的处理方法

废话不多说,直接上代码! # coding:utf-8 from multiprocessing import Pool import time def keywords(t...

Python静态类型检查新工具之pyright 使用指南

Python静态类型检查新工具之pyright 使用指南

Python是一门动态类型的语言,民间流传一种说法叫”动态一时爽,重构火葬场”,听起来够吓人的,好在这门语言在不断地改进,包括对 PEP484 引入的类型提示(Type Hint),就是...

Python实现二叉堆

Python实现二叉堆

优先队列的二叉堆实现 在前面的章节里我们学习了“先进先出”(FIFO)的数据结构:队列(Queue)。队列有一种变体叫做“优先队列”(Priority Queue)。优先队列的出队(De...

Python实现自定义函数的5种常见形式分析

本文实例讲述了Python自定义函数的5种常见形式。分享给大家供大家参考,具体如下: Python自定义函数是以def开头,空一格之后是这个自定义函数的名称,名称后面是一对括号,括号里放...