这篇文章主要介绍了Python 多线程 Timer定时器/延迟执行、Event事件的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
Timer继承子Thread类,是Thread的子类,也是线程类,具有线程的能力和特征。这个类用来定义多久执行一个函数。
它的实例是能够延迟执行目标函数的线程,在真正执行目标函数之前,都可以cancel它。
Timer源码:
class Timer(Thread):
def __init__(self, interval, function, args=None, kwargs=None):
Thread.__init__(self)
self.interval = interval
self.function = function
self.args = args if args is not None else []
self.kwargs = kwargs if kwargs is not None else {}
self.finished = Event()
def cancel(self):
"""Stop the timer if it hasn't finished yet."""
self.finished.set()
def run(self):
self.finished.wait(self.interval)
if not self.finished.is_set():
self.function(*self.args, **self.kwargs)
self.finished.set()
Timer类使用方法与Thread定义子线程一样,interval传入间隔时间,function传入线程执行的函数,args和kwargs传入函数的参数。

本文详细介绍了Python多线程中的Timer定时器和Event事件。Timer是Thread的子类,用于设定延迟执行任务,可以通过cancel方法取消。Event则通过一个标志位进行线程间通信,通过set()、clear()和wait()方法控制任务执行。文中通过实例展示了如何使用这两个工具进行线程间的协作和控制。
最低0.47元/天 解锁文章
305

被折叠的 条评论
为什么被折叠?



