• 技术文章 >Python技术 >Python基础教程

    Python Timer定时器:控制函数在特定时间执行

    silencementsilencement2019-07-05 10:45:54原创2838

    Thread类有一个Timer子类,该子类可用于控制指定函数在特定时间内执行一次。例如如下程序:

    from threading import Timer
    
    def hello():
        print("hello, world")
    # 指定10秒后执行hello函数
    t = Timer(10.0, hello)
    t.start()

    上面程序使用 Timer 控制 10s 后执行 hello 函数。

    需要说明的是,Timer 只能控制函数在指定时间内执行一次,如果要使用 Timer 控制函数多次重复执行,则需要再执行下一次调度。

    如果程序想取消 Timer 的调度,则可调用 Timer 对象的 cancel() 函数。例如,如下程序每 1s 输出一次当前时间:

    from threading import Timer
    import time
    
    # 定义总共输出几次的计数器
    count = 0
    def print_time():
        print("当前时间:%s" % time.ctime())
        global t, count
        count += 1
        # 如果count小于10,开始下一次调度
        if count < 10:
            t = Timer(1, print_time)
            t.start()
    # 指定1秒后执行print_time函数
    t = Timer(1, print_time)
    t.start()

    上面程序开始运行后,程序控制 1s 后执行 print_time() 函数。print_time() 函数中的代码会进行判断,如果 count 小于 10,程序再次使用 Timer 调度 1s 后执行 print_time() 函数,这样就可以控制 print_time() 函数多次重复执行。

    在上面程序中,由于只有当 count 小于 10 时才会使用 Timer 调度 1s 后执行 print_time() 函数,因此该函数只会重复执行 10 次。

    专题推荐:timer定时器
    品易云
    上一篇:面向对象之深度优先和广度优先 下一篇:Python schedule任务调度及其用法

    相关文章推荐

    • Python如何进行内存管理?• Python创建线程

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网