python高级线程编程-定时器和周期任务(二)
导读:使用sched模块实现定时器和周期任务Python标准库中的sched模块提供了一个基于时间的事件调度程序,可以用来实现定时器和周期任务。下面是一个使用sched模块实现定时器的示例代码:import sched import time...
使用sched模块实现定时器和周期任务
Python标准库中的sched模块提供了一个基于时间的事件调度程序,可以用来实现定时器和周期任务。
下面是一个使用sched模块实现定时器的示例代码:
import sched
import time
def say_hello():
print("Hello World")
s = sched.scheduler(time.time, time.sleep)
s.enter(5.0, 1, say_hello, ())
s.run()
这里我们定义了一个函数say_hello(),使用sched.scheduler()方法创建了一个调度程序对象s,调度程序使用time.time()函数返回的时间戳作为起点,使用time.sleep()函数实现延时,然后使用s.enter()方法将say_hello()函数添加到调度程序中。第一个参数5.0指定了定时器的时间间隔为5秒,1指定了优先级,最后一个参数()表示参数为空。
除了定时器,我们还可以使用sched模块创建一个周期任务,如下所示:
import sched
import time
def say_hello():
print("Hello World")
def start_task():
s.enter(5.0, 1, start_task, ())
say_hello()
s = sched.scheduler(time.time, time.sleep)
s.enter(5.0, 1, start_task, ())
s.run()
这里我们定义了两个函数,一个是say_hello()函数,另一个是start_task()函数。start_task()函数在每次调用say_hello()函数后,将使用s.enter()方法创建一个新的定时器并添加到调度程序中,从而实现周期任务。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: python高级线程编程-定时器和周期任务(二)
本文地址: https://pptw.com/jishu/9213.html