说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
threading.Timer 是 threading.Thread 的子类,用于在指定时间后执行一个函数。它可以在多线程环境下执行定时任务。Timer 类创建一个新线程,在指定的时间间隔过后,在该新线程中执行指定的函数。
构造方法:
Timer(interval, function, args=[], kwargs={})
参数:
常用方法:
使用场景:
如下:
import threading
def hello():
print("Hello, world!")
# 创建一个定时器,3秒后执行 hello 函数
timer = threading.Timer(3, hello)
timer.start()
假设我们要实现一个定时提醒功能,每隔一段时间提醒用户休息一下。
import threading
import time
def reminder():
print("该休息一下啦!")
# 创建下一个定时器
threading.Timer(60 * 30, reminder).start() # 30 分钟后再次提醒
# 启动第一个定时器
reminder()
while True:
time.sleep(1) # 防止主线程结束
在上述案例中,使用 Timer 实现了每隔 30 分钟提醒用户休息的功能。
import threading
def reminder(message):
print(f"提醒: {message}")
def start_reminder():
messages = ["喝水", "休息一下", "查看邮件"]
intervals = [5, 10, 15] # 秒
timers = []
for i in range(len(messages)):
timer = threading.Timer(intervals[i], reminder, args=(messages[i],))
timers.append(timer)
timer.start()
for timer in timers:
timer.join()
# 启动提醒
start_reminder()
更新时间:June 30, 2024, 6:09 p.m. 标签:python threading 线程 定时器对象