欢迎访问宙启技术站
智能推送

使用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()函数可以方便地实现多线程定时任务的调度。