使用Timer()函数实现多线程定时任务的方法
发布时间:2023-12-26 09:34:20
Timer()函数是Python标准库中的一个模块,它提供了一个简单的方法来实现多线程定时任务。Timer()函数接受两个参数:interval和函数。interval表示延迟的时间,单位是秒;函数表示定时任务需要执行的函数。
下面是一个使用Timer()函数实现多线程定时任务的例子:
import threading
import time
def print_time():
print("Current time:", time.strftime("%H:%M:%S"))
def print_hello():
print("Hello!")
# 创建一个定时任务,每隔1秒钟打印当前时间
timer1 = threading.Timer(1, print_time)
timer1.start()
# 创建一个定时任务,延迟2秒钟后打印Hello!
timer2 = threading.Timer(2, print_hello)
timer2.start()
# 主线程继续执行其他任务
for i in range(5):
print("Main thread")
time.sleep(0.5)
# 等待定时任务结束
timer1.join()
timer2.join()
上述例子中,首先定义了两个需要执行的函数print_time和print_hello,分别用来打印当前时间和打印Hello!。
接着使用Timer()函数创建了两个定时任务timer1和timer2,分别延迟1秒和2秒执行相应的函数。
随后,在主线程中,使用for循环打印"Main thread",每次间隔0.5秒。
最后,使用join()方法等待定时任务的结束。
运行以上代码,将会得到类似以下的输出:
Current time: 12:01:23 Hello! Main thread Main thread Current time: 12:01:24 Main thread Current time: 12:01:25 Main thread
可以看到,定时任务会在指定的时间间隔后执行相应的函数。使用Timer()函数可以方便地实现多线程定时任务的调度。
