让线程等待计时器或信号?

2024-01-26

我正在编写一个多线程Python应用程序,其中每个线程应该在以下情况下唤醒:

  1. 来自主线程的信号
  2. 自行启动的 Timer 调用

换句话说,线程应该根据它们为自己设置的计时器唤醒,并且能够在相关事件出现时响应来自管理线程的信号。

实现双重(定时器/事件)唤醒机制的惯用方法是什么?


Well, 线程.事件 https://docs.python.org/2/library/threading.html#threading.Event, has a wait https://docs.python.org/2/library/threading.html#threading.Event.wait方法,需要超时。所以你可以做一些简单的事情

在主线程中:

sleepEvent = threading.Event()

将其传递给其他线程,并在其中:

sleepEvent.wait(10) # wait for up to 10 seconds

现在,您的线程将等待 10 秒(如计时器),或者在主线程调用时清除等待

sleepEvent.set()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

让线程等待计时器或信号? 的相关文章

  • 我怎样才能更多地了解Python的内部原理? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我使用Python编程已经有半年多了 我对Python内部更感兴趣 而不是使用Python开发应用程序
  • 如何在序列化器创建方法中获取 URL Id?

    我有以下网址 url r member P
  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • Django 模型在模板中不可迭代

    我试图迭代模型以获取列表中的第一个图像 但它给了我错误 即模型不可迭代 以下是我的模型和模板的代码 我只需要获取与单个产品相关的列表中的第一个图像 模型 py class Product models Model title models
  • Pandas 中允许重复列

    我将一个大的 CSV 包含股票财务数据 文件分割成更小的块 CSV 文件的格式不同 像 Excel 数据透视表之类的东西 第一列的前几行包含一些标题 公司名称 ID 等在以下列中重复 因为一家公司有多个属性 而不是一家公司只有一栏 在前几行
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • 为什么Python的curses中escape键有延迟?

    In the Python curses module I have observed that there is a roughly 1 second delay between pressing the esc key and getc
  • 使用 OLS 回归预测未来值(Python、StatsModels、Pandas)

    我目前正在尝试在 Python 中实现 MLR 但不确定如何将我找到的系数应用于未来值 import pandas as pd import statsmodels formula api as sm import statsmodels
  • 对图像块进行多重处理

    我有一个函数必须循环遍历图像的各个像素并计算一些几何形状 此函数需要很长时间才能运行 在 24 兆像素图像上大约需要 5 小时 但似乎应该很容易在多个内核上并行运行 然而 我一生都找不到一个有据可查 解释充分的例子来使用 Multiproc
  • 任务并行库周围是否有一个接口包装器,以便我可以将其交换用于单元测试?

    I asked 这个问题 https stackoverflow com questions 3362734 unit testing concurrent software what do you do不久以前 我现在知道这是一个坏主意
  • 从 python 发起 SSH 隧道时出现问题

    目标是在卫星服务器和集中式注册数据库之间建立 n 个 ssh 隧道 我已经在我的服务器之间设置了公钥身份验证 因此它们只需直接登录而无需密码提示 怎么办 我试过帕拉米科 它看起来不错 但仅仅建立一个基本的隧道就变得相当复杂 尽管代码示例将受
  • 将 matplotlib 颜色图集中在特定值上

    我正在使用 matplotlib 颜色图 seismic 绘制绘图 并且希望白色以 0 为中心 当我在不进行任何更改的情况下运行脚本时 白色从 0 下降到 10 我尝试设置 vmin 50 vmax 50 但在这种情况下我完全失去了白色 关
  • Pandas 根据 diff 列形成簇

    我正在尝试使用 Pandas 根据表示时间 以秒为单位 的列中的差异来消除数据框中的一些接近重复项 例如 import pandas as pd numpy as np df pd DataFrame 1200 1201 1233 1555
  • Tkinter - 浮动窗口 - 调整大小

    灵感来自this https stackoverflow com a 22424245 13629335问题 我想为我的根窗口编写自己的调整大小函数 但我刚刚注意到我的代码显示了一些性能问题 如果你快速调整它的大小 你会发现窗口没有像我希望
  • 具有自定义值的 Django 管理外键下拉列表

    我有 3 个 Django 模型 class Test models Model pass class Page models Model test models ForeignKey Test class Question model M
  • 如何读取Python字节码?

    我很难理解 Python 的字节码及其dis module import dis def func x 1 dis dis func 上述代码在解释器中输入时会产生以下输出 0 LOAD CONST 1 1 3 STORE FAST 0 x
  • Python 无法使用套接字绑定我的外部/公共 IP 地址,给出错误但是当使用本地 IP 地址时,错误不会显示

    这是出现主要错误的代码 与我的本地 IP 的绑定将起作用 s bind 192 168 1 4 port 与我的公共 IP 的绑定失败并出现以下错误 s bind 99 99 99 99 port WinError 10049 请求的地址在
  • 从 Twitter API 2.0 获取 user.fields 时出现问题

    我想从 Twitter API 2 0 端点加载推文 并尝试获取标准字段 作者 文本 和一些扩展字段 尤其是 用户 字段 端点和参数的定义工作没有错误 在生成的 json 中 我只找到标准字段 但没有找到所需的 user fields 用户
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1

随机推荐

  • Laravel 注册表单上的自定义验证

    我目前正在努力对注册表进行一些验证 基本上 当用户注册时 它会检查他们输入的唯一代码是否有效 如果无效则不允许他们注册 但在我从中读取的代码表中 代码上也有一个到期日期 我需要在认为有效后再次检查到期日期尚未过去 换句话说 它不大于现在 我
  • 编写一个返回值的 jQuery 插件

    我正在编写一个 jQuery 插件 在某些情况下可以存储一些数据 我想以一种非常灵活的方式编写它 我可以更改输入参数来获取插件存储的一些值 解释 当我打电话时 any myPlugin 我的插件初始化创建一个div还有一些a里面 单击一个a
  • C++ 中的全局变量是存储在堆栈、堆还是两者都不存储?

    最初我很确定正确的答案一定是 都不是 因为全局变量存储在数据内存中 但后来我找到了 Robert Lafore 的这本书 名为 C 中的面向对象编程 它明确指出 根据C 标准 全局变量存储在堆上 现在我很困惑 无法真正弄清楚所提出问题的正确
  • 如何在表单完成期间设置外键(python/django)

    在表单处理期间 我希望能够在模型对象上设置外键字段 而无需用户从下拉列表中选择键 例如 models py class AAA models Model some field models TextField class BBB model
  • where 0=0 这样的条件的确切含义是什么?

    我在 Oracle 过程中使用 where 0 0 这样的语句时有点困惑 有人可以澄清一下吗 即使我们这样做是为了动态选择 为什么即使我们在查询中附加了实际条件 也要添加这条语句呢 这个 where 条件会对结果集产生任何影响吗 我经历了如
  • LINQ 中的 GETDATE()

    替代品是什么GETDATE 在 LINQ 中 我从以下帖子中得到了一些解决方法 如何在 Linq to SQL 表达式中使用 SQL 的 GETDATE 和 DATEADD https stackoverflow com questions
  • 如何在 EasyNetQ 中为每个消费者声明自定义错误交换?

    我有四个消费者 当错误发生时 消息发布到默认的 EasyNetQ Default Error Queue 是否可以让每个队列消费者编写自己的错误交换 例如 Queue Name A ErrorExchange A ErrorExchange
  • 未定义 navigator.push React-native 0.43.4

    我正在使用react native的Navigator组件 但当我想推送到anthor页面时仍然出现错误push undefined is not a function这是我的代码 import React Component from r
  • Google 地图路径的 SVG 渐变线

    我正在解释谷歌地图中的 GPS 位置数据 在这里我想创建一条带有渐变的路径 该路径以红色开始 以橙色结束 this https developers google com maps documentation javascript exam
  • std::function 可以序列化吗?

    这是一个理论问题 假设有一些对象 其中包含订阅这些对象的事件的回调函数列表 现在我们想将这些对象存储在磁盘上 是一个std function可序列化 No 每当使用类型擦除 即 将实现细节隐藏在接口后面 时 在不知道对象的动态类型的情况下唯
  • 如何将文本放入绘图的方框内

    我想将文本放在 matplotlib 图上的框中 但是文档 http matplotlib org users recipes html placing text boxes仅给出如何将其放在右上角的示例 并且选择不同的角并不完全简单 这是
  • 将 json 字符串转换为 Java Map(JSONLib)

    如何使用 JSON lib http json lib sourceforge net 将 json 字符串转换为 Java Map 我可以转换为 DynaBean JSONObject jsonObject JSONObject JSON
  • Scanf 似乎无法在带有 GDB 的 Eclipse CDT 中以调试模式工作

    在调试模式下运行此代码时 include
  • 如何在 Django 中使用 DeleteView 显示相关项目?

    我正在做一个视图来从模型中删除实例 使用 Django 中的通用视图DeleteView 但它会级联并删除其他模型中的实例 url r person P
  • UITextView 撤消管理器不适用于替换属性字符串(iOS 6)

    iOS 6 已更新为使用 UITextView 进行富文本编辑 UITextView 现在获得一个 attributeText 属性 该属性是愚蠢的不可变 这是在 NDA 下在 iOS 6 Apple 论坛上提出的问题 由于 iOS 6 现
  • Varchar数据有选择地显示结果

    我正在开发一个应用程序来监控 IP 地址活动 我在 Ubuntu 12 04 上使用 LAMP 堆栈 在mysql数据库中 我创建了一个包含2列的表 ip和mac 数据类型均为varchar 我将一些数据放入表中 当我使用 select f
  • 是否可以手动分解 C++ 符号?

    我收到一些这样的错误 dyld lazy symbol binding failed Symbol not found ZN2nm8RationalIxEC1ERKNS 10RubyObjectE Referenced from Users
  • 如何查看模板类型参数推导的类型?

    有没有一种简单的方法可以强制编译器向我显示为模板参数推导的类型 例如 给定 template
  • 如何在 Spring 中使用注释和纯 Java 设置 hibernate.hbm2ddl.auto

    如何仅使用 Java 和注释在 Spring 中设置以下内容
  • 让线程等待计时器或信号?

    我正在编写一个多线程Python应用程序 其中每个线程应该在以下情况下唤醒 来自主线程的信号 自行启动的 Timer 调用 换句话说 线程应该根据它们为自己设置的计时器唤醒 并且能够在相关事件出现时响应来自管理线程的信号 实现双重 定时器