Python 线程计时器17 Mar 2025 | 5 分钟阅读 在 Python 中,threading 模块允许开发人员在单个程序中创建多个线程,从而实现多个任务的并行执行。threading 模块还提供了一个 Timer 类,可用于在指定时间过去后安排任务运行。在本文中,我们将解释如何使用 threading.timer 类来安排 Python 程序中的任务。 理解 threading 模块中的 Threading Timer 类。Timer 类提供了一种方法,可以在指定时间过去后安排函数运行。Timer 类接受两个参数:延迟时间(以秒为单位)和要执行的函数。启动 Timer 对象时,它会等待指定的时间,然后运行指定的函数。 语法在上面的语法中,delay 是以秒为单位的延迟时间,function 是要执行的函数。 创建 Timer 对象后,程序员可以使用 start() 方法启动它。然后,Timer 对象将在指定的延迟后运行指定的函数。 示例 1:一个简单的定时器以下是一个简单的 Timer 示例,它会在指定延迟后打印一条消息 代码 输出 ![]() 说明 代码成功运行后,它将等待 5 秒钟,然后在控制台打印“Hello, world!”。这是因为 print_message() 函数被安排为由 Timer 线程在 5 秒延迟后调用。 示例 2:重复定时器Timer 类也可用于创建重复定时器,这些定时器以固定的间隔执行函数。要创建重复定时器,程序员可以使用 Timer 类以及 while 循环。下面是一个每 2 秒重复调用一次函数的 Timer 示例 代码 输出 ![]() 注意:它会每 2 秒连续打印“Hello, world!”,直到程序被手动终止。说明 上述代码首先创建一个 Timer 对象 t,延迟时间为 2 秒(即 threading.Timer(2.0, print_message))。这意味着 2 秒后,print_message() 函数将在单独的线程中执行。 然后启动 while 循环,并在循环中使用 t.start() 启动 t 定时器,这会安排 print_message() 函数在 2 秒延迟后运行。t.join() 调用会阻塞主线程,直到 print_message() 函数执行完毕。 print_message() 函数完成后,将创建一个新的 Timer 对象并将其重新赋值给 t,延迟时间仍然为 2 秒。这创建了一个循环,该循环会无限期地安排 print_message() 函数每 2 秒运行一次,直到程序被手动终止。 if not threading.active_count() > 1: 这是一个检查条件,用于在除主线程之外没有其他活动线程时跳出循环并终止程序。这样做是为了防止程序无限期运行并导致“Hello, world!”消息的无休止循环。 示例 3:取消定时器有时程序员可能希望在 Timer 完成其延迟之前取消它。在这种情况下,程序员可以使用 Timer 对象的 cancel() 方法来执行此操作。这是一个 Timer 示例,它在执行其函数之前被取消 代码 输出 由于定时器在执行之前被取消,因此不会打印任何输出 说明 上述代码从 threading 模块创建了一个 Timer 对象,该模块是一个允许在一定延迟后安排函数运行的类。Timer 的延迟时间设置为 5.0 秒,print_message() 函数是要执行的函数。 使用 t.start() 启动定时器后,定时器将等待 5.0 秒,然后执行 print_message() 函数,该函数仅打印“Hello, world!”。 但是,在启动定时器后立即调用 t.cancel(),这会在函数执行之前取消定时器。结果,将不会打印任何输出,并且程序将在没有进一步操作的情况下终止。 Timer 线程的好处Python threading.Timer 类为需要在 Python 程序中安排任务的开发人员提供了多种好处
Python 线程定时器的缺点使用 Python 线程定时器也有一些缺点。它们如下。
结论Python 的 threading 模块提供了一种在单个程序中创建多个线程的强大方法,从而实现了多个任务的并行执行。threading 模块中的 Timer 类是安排任务在指定延迟后运行的有用工具。使用 Timer 类、循环和其他控制结构,程序员可以创建复杂的调度逻辑,以精确的时间间隔执行函数。 下一主题Python TOML |
在本文中,我们将讨论 Python 中的 Wikipedia 模块,并讨论如何使用 Python 脚本利用 Wikipedia 模块。我们将从 Wikipedia 获取大量信息。引言 互联网是信息最重要的来源。所有知识都只是...
阅读 6 分钟
什么是二叉搜索树?二叉树是一种二叉数据结构,包含不同的节点,每个节点最多有两个子节点。这些节点遵循一些属性,包括:二叉树的左节点的值小于根节点的值。……
5 分钟阅读
称为天线的设备被制造用来传输和接收无线电波。它们被用于许多不同的系统,包括雷达和导航系统以及无线通信。天线是任何无线通信系统的重要组成部分,其设计和性能对于...
7 分钟阅读
在本教程中,我们使用了 Python 中不同的数字数据类型,我们将学习如何将浮点值转换为整数值。让我们来看看实现相同目标的方法——使用 trunc() 使用 floor() 使用 ceil() 使用 int() 所以,让我们从第一个方法开始...
阅读 4 分钟
您可以使用 Advanced Python Scheduler (APScheduler) Python 包来安排您的 Python 代码稍后运行,一次或多次。您可以灵活地根据需要添加新任务和删除旧任务。如果您的作业能够经受住调度程序重启并保持其状态,那么您将...
阅读 6 分钟
在接下来的教程中,我们将借助示例来理解 Python 编程语言中的 reprlib 模块。让我们开始吧。理解 Python 中的 reprlib 模块 Python reprlib 模块提供了一种方法,用于生成限制了结果大小的对象表示...
阅读 3 分钟
本教程将展示如何利用Python机器学习模型,使用Sklearn的预测函数来预测结果。我们将简要总结该函数的功能,回顾其语法,然后提供使用此方法与各种机器学习模型的示例。简要概述...
5 分钟阅读
什么是累积和?累积和的意思是“到目前为止的总和”。累积和的定义是给定序列的增加或随着更多加法而变大的总和。累积和的真实例子是不断增加的...
阅读 2 分钟
闹钟总是有用的,可以在我们睡觉时提醒我们,小睡片刻,或者提醒我们可能忘记的一些重要日子。闹钟是一种时钟,用于在设定的时间发出警报...
阅读9分钟
asctime() 方法将 gmtime() 或 localtime() 提供的表示时间的元组或结构时间转换为 24 个字符的文本,类型为 'Mon May 23 20:22:05 2022'。asctime() 方法示例:日 月 日期 时:分:秒 年 例如:周四 05 22 09:50:43 2022 asctime() 的语法 这是语法...
阅读1分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India