• Python中的计时器对象


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

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

    因为线程调度程序负责实际调度与计时器对象相对应的线程。

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

    创建一个定时器语法

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

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

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

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

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

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

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

    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()

    运行结果

  • 相关阅读:
    c++析构函数、虚析构函数、纯虚析构函数详解
    php实现设计模式之 策略模式
    php实现设计模式之 简单工厂模式
    记录一下工作中碰到的一些有用的命令
    预估高并发下API服务器数量
    囧啊!!时间戳转化为时间出错php
    php 实现hash表
    php 中使用cURL发送get/post请求,上传图片,批处理
    redis虚拟内存
    redis主从同步
  • 原文地址:https://www.cnblogs.com/zz-952/p/10694427.html
Copyright © 2020-2023  润新知