Python中的计时器对象

计时器对象用于特定时间运行的操做。每每被安排到特定的单独的线程上运行,函数

可是计时器初始化的时间间隔可能不是解释器实际执行操做时的实际时刻,ui

由于线程调度程序负责实际调度与计时器对象相对应的线程。spa

Timer是Thread类的子类。显式调用与计时器对应的start()函数来启动。线程

建立一个定时器语法code

  threading.Timer(interval,function,args = None,kwargs = None) 对象

  通过时间多少秒,后运行程序。若是args为None(默认值),则将使用空列表。若是kwargs为None(默认值),则将使用空的dict。blog

 

import threading 
def fun(): 
    print("hello\n") 
  
timer = threading.Timer(1.0, fun) 
timer.start()
print("quit\n") 

程序start()运行5秒中后调用fun(),it

timer.cancel()   中止计时器,取消执行计时器的操做。这仅在定时器仍处于等待阶段时才有效。io

import threading 
 
def fun(): 
    print("hello\n") 
  
timer = threading.Timer(1.0, fun) 
timer.start() 
print("Cancelling timer\n") 
timer.cancel() 
print("Exit\n") 

使用threading.Timer实现线程循环任务定时器function

import threading
def func1(a):
    print('TO  DO 。。。')
    a+=1
    print(a)
    print('当前激活线程数为',threading.activeCount())
    if a>5:
        return 
    timer = threading.Timer(1, func1,(a,)) #1秒后调func1 不会形成线程堆积
    timer.start()

timer = threading.Timer(5, func1,(0,)) #5秒后调用func1
timer.start()

运行结果

相关文章
相关标签/搜索