什么是 Python Timer?
在 Python 的 threading 模块中,Timer 是一个用于在指定延迟后执行函数的类。
它继承自 Thread,因此本质上是一个在后台运行的线程。
基本语法
from threading import Timer
def your_function():
print("定时任务执行!")
# 创建一个 3 秒后执行 your_function 的定时器
t = Timer(3.0, your_function)
t.start() # 启动定时器
实战示例:3秒后打印消息
常用场景
- 延迟初始化资源
- 超时控制(如网络请求)
- 简单的定时提醒功能
- 避免阻塞主线程的延时操作
注意事项
- Timer 只执行一次,如需重复执行,需在回调函数中重新创建 Timer。
- 若主程序退出,Timer 线程可能被强制终止(非守护线程默认随主线程结束而结束)。
- 可调用
t.cancel()在执行前取消定时器。
进阶:重复定时任务
from threading import Timer
def repeat_task():
print("每2秒执行一次")
Timer(2.0, repeat_task).start()
# 启动首次任务
repeat_task()
⚠️ 注意:这种方式会不断创建新线程,长时间运行可能导致资源泄漏。生产环境建议使用 scheduler 库(如 APScheduler)。