zoukankan      html  css  js  c++  java
  • 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()

    运行结果

  • 相关阅读:
    系统管理命令之tty
    系统管理命令之id
    idea中使用junit测试时使用Scanner类无法正常测试
    002-字段不为null
    java8中接口中的default方法
    java之接口适配器
    java之对象适配器
    java之类适配器
    java之多态(六)
    java之多态(五)
  • 原文地址:https://www.cnblogs.com/zz-952/p/10694427.html
Copyright © 2011-2022 走看看