threading.Timer()
是 Python 中的一个线程模块,用于创建一个定时器线程。它可以在指定的延迟时间后执行一个指定的函数。下面是关于 threading.Timer()
的详细介绍:
- 语法:
timer = threading.Timer(interval, function, args=None, kwargs=None)
-
参数:
interval
: 延迟的秒数,即定时器将在多久之后执行函数。function
: 要执行的函数对象。args
: 传递给函数的位置参数,类型为元组。kwargs
: 传递给函数的关键字参数,类型为字典。
-
方法:
timer.start()
: 启动定时器,会在指定的延迟时间后执行指定的函数。timer.cancel()
: 取消定时器,如果定时器还未执行,则不会执行指定的函数;如果定时器已经执行,将无法取消。
-
示例:
import threadingdef print_message():print("Timer is up!")timer = threading.Timer(5, print_message)
timer.start()
上面的示例中,定义了一个 print_message()
函数,在创建定时器时,设置延迟时间为 5 秒后执行该函数。在调用 timer.start()
后,将会在 5 秒后打印出 “Timer is up!”。
需要注意的是,threading.Timer()
创建的定时器是一个单次性的定时器,即只会执行一次。如果需要循环执行,可以在函数体内设置一个循环并在适当的时机调用定时器自身。
import threadingdef hello():print("Hello, it's me again!")def start_timer(interval):timer = threading.Timer(interval, start_timer, (interval,))timer.start()hello()# 初始启动一个定时器
start_timer(1)
or:
import threadingdef print_message():print("Hello, it's me again!")# 在函数里创建定时器,延迟时间为1秒,执行函数为本身所在的函数timer = threading.Timer(1, print_message)timer.start()print_message()
or:
import threadingdef print_message():print("Hello, it's me again!")# 在定时器的执行函数里创建新的定时器,延迟时间为1秒,执行函数为本身所在的函数new_timer = threading.Timer(1, print_message)new_timer.start()# 创建第一个定时器,延迟时间为1秒,执行print_message函数
timer = threading.Timer(1, print_message)
timer.start()