Python - 等待没有高CPU使用率的条件

2023-12-13

在这种情况下,假设我想等待一个可能在任何随机时间发生的条件发生。

 while True:
    if condition:
        #Do Whatever
    else:
        pass

正如您所看到的,直到条件为 True 时才会发生 pass。但是,虽然条件不成立,但 cpu 与 pass 挂钩,导致更高的 cpu 使用率,而我只是想让它等待条件发生。我该怎么做?


See Busy_loop#Busy-waiting_alternatives:

大多数操作系统和线程库提供了各种系统调用,这些调用将在某个事件上阻塞进程,例如锁获取、计时器更改、I/O 可用性或信号。

基本上,要等待某件事,你有两种选择(与 IRL 相同):

  • 以合理的时间间隔定期检查(这称为“轮询”)
  • 让您正在等待的事件通知您:以某种方式调用(或者,作为特殊情况,解除阻止)您的代码(这称为“事件处理”或“通知”。对于阻止的系统调用,“阻止调用”或“通常使用“同步调用”或特定于调用的术语)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python - 等待没有高CPU使用率的条件 的相关文章

  • 是否有解决方法可以通过 CoinGecko API 安全检查?

    我在工作中运行我的代码 一切都很顺利 但在不同的网络 家庭 WiFi 上 我不断收到403访问时出错CoinGecko V3 API https www coingecko com api documentations v3 可以观察到 在
  • 中断 Select 以添加另一个要在 Python 中监视的套接字

    我正在 Windows XP 应用程序中使用 TCP 实现点对点 IPC 我正在使用select and socketPython 2 6 6 中的模块 我有三个 TCP 线程 一个读取线程通常会阻塞select 一个通常等待事件的写入线程
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • Python 中的哈希映射

    我想用Python实现HashMap 我想请求用户输入 根据他的输入 我从 HashMap 中检索一些信息 如果用户输入HashMap的某个键 我想检索相应的值 如何在 Python 中实现此功能 HashMap
  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • 用枢轴点拟合曲线 Python

    我有下面的图 我想用 2 条线来拟合它 使用 python 我设法适应上半部分 def func x a b x np array x return a x b popt pcov curve fit func up x up y 我想用另
  • 将 python2.7 与 Emacs 24.3 和 python-mode.el 一起使用

    我是 Emacs 新手 我正在尝试设置我的 python 环境 到目前为止 我已经了解到在 python 缓冲区中使用 python mode el C c C c将当前缓冲区的内容加载到交互式 python shell 中 显然使用了什么
  • 您可以格式化 pandas 整数以进行显示,例如浮点数的“pd.options.display.float_format”?

    我见过this https stackoverflow com questions 18404946 py pandas formatdataframe and this https stackoverflow com questions
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • Jupyter Notebook 找不到 Python 模块

    不知道发生了什么 但每当我使用 ipython 氢 原子 或 jupyter 笔记本时都找不到任何已安装的模块 我知道我安装了 pandas 但笔记本说找不到 我应该补充一点 当我正常运行脚本时 python script py 它确实导入
  • 根据列 value_counts 过滤数据框(pandas)

    我是第一次尝试熊猫 我有一个包含两列的数据框 user id and string 每个 user id 可能有多个字符串 因此会多次出现在数据帧中 我想从中导出另一个数据框 一个只有那些user ids列出至少有 2 个或更多string
  • 如何解决 PDFBox 没有 unicode 映射错误?

    我有一个现有的 PDF 文件 我想使用 python 脚本将其转换为 Excel 文件 目前正在使用PDFBox 但是存在多个类似以下错误 org apache pdfbox pdmodel font PDType0Font toUnico
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • Getter 和 Setter 不工作?

    我现在有两个类 RemindersDAO java 和 ViewLocalReminders java 我正在尝试访问 ViewLocalReminders java 中的变量 并尝试从 RemindersDAO java 中调用它 我通过
  • RWD:在移动设备中显示桌面版本,缩小,无水平滚动

    也许我的问题有点奇怪 但我的客户希望在一段时间内从网站上删除响应能力 并在移动设备中查看桌面版本 首先 我删除了响应式元标记 但在页面中获得水平滚动 我想要的是在 iPhone 上看到我的网站 就像在桌面上看到的一样 没有任何滚动或缩放 我
  • 我是否应该将 IBActions 放入头文件中?

    鉴于 Xcode 4 6 3 使用 iOS SDK 6 1 声明方法签名是否有区别IBAction是否在头文件中 如果不将方法声明放在头文件中 应用程序仍然能够毫无问题地编译和运行 然而 该方法在故事板中看不到 未在头文件中声明方法是否存在
  • 在VB.NET中使用RSA加密进行解密

    我使用以下命令在 Linux 计算机的 cmd 行中使用 openssl 创建了公钥和私钥 openssl genrsa out rsa 1024 priv pem 1024 openssl rsa pubout in rsa 1024 p
  • 访问名称来自用户输入的局部变量

    我需要使用访问字符串raw input list1 one Two three list2 1 2 3 while True ip raw input enter list for i in ip print i break 当 list1
  • UWP - 防止 NavigationViewItemHeader 被剪切

    I am writing a UWP app that has a NavigationView containing NavigationViewItemHeaders
  • 再次 setTimeout 与 setInterval

    所以我知道之间存在差异setTimeout and setInterval 但请考虑这两个代码示例 function myFunction setTimeout myFunction 100 doSomething setTimeout m
  • 模块解析失败:意外的令牌 ionic 3

    升级到最新的 ionic 和 ionic Angular 模块后 出现此错误 这是升级后我的 Package json 文件 这是升级后我的 Package json 文件 运行时错误 Module parse failed Unexpec
  • 删除行的有效方法(多个条件)VBA

    我有一张表 其中 Col A 中有一个字符串 A Col B 由字符串 B 组成 我想在 A 列中保留带有 Begr ndung 一词的行 在 B 列中保留带有 Nein 一词的行 我正在使用从这些来源找到的以下代码如果单元格不包含 则删除
  • 在后台运行 R

    嗨 这是一个我不知道如何提出的问题 我正在从远程服务器运行 R 我对远程服务器的访问是通过 ssh username 等 访问后 我会看到一个命令提示符 我可以调用 R 并且我很乐意在 R 上工作 问题1 我有一个大型网络 100k 个节点
  • 如何从 stdlib 编写 qsort 的比较函数?

    我有一个结构 struct pkt double x double y double alfa double r kw typedef struct pkt pkt 这些结构的表格 pkt tab pkt tab pkt malloc il
  • Firestore增量浮点问题

    请注意 我知道关于这个问题还有一些其他问题 但没有真正的答案 因此 自从实现增量字段值以来发生的情况是 当增加浮点数时 大多数时候您会得到十几个小数而不是实际数字 incrementing 0 with 0 1 11 times retur
  • 如何使用 vite + React 项目添加自动前缀

    嗨 我使用创建了反应应用程序npm create vite我尝试整合autoprefixer但它不起作用 vite config js import defineConfig from vite import react from vite
  • Chrome扩展程序跨域请求

    我知道这已经在这里讨论过很多次了 我已经阅读了其中的大部分主题 但我似乎无法让我的脚本运行 问题是我正在尝试使用 bitly api 来缩短 google chrome 扩展中的 url 我将用户登录名和 apiKey 保存在本地存储中 在
  • 部署 Azure 应用服务时出错:ERROR_COULD_NOT_CONNECT_TO_REMOTESVC

    我在通过 Azure DevOps 部署应用程序服务时遇到以下错误 我试图搜索这个问题 但找不到根本原因 Error 2021 03 15T06 01 27 7479723Z error Error Error Code ERROR COU
  • 如何添加将调用辅助方法的摩卡期望?

    我正在将一个方法从控制器转移到助手中 现在将从视图中调用该方法 以前 在我的控制器中我有 def show things gather things end 在我的功能测试中我有 test show assigns things do ge
  • 编译需要绑定重定向的C#库项目

    我引用的第三方 dll 需要在 app config 文件中进行绑定重定向 如下所示
  • req.body 未填充表单数据

    以下文件是我尝试向我的nodejs express 服务器提交POST请求 req body 不会填充我的表单中的任何类型的数据 我做了很多搜索 发现针对这个特定问题的许多解决方案包括在我的路线之前移动 bodyparser 并确保在表单字
  • Chart js:如何对齐图例和标题

    我想将订单向左对齐 将图例居中对齐 我试过做 title display true fontSize 18 text Products titleAlign left but textalign似乎对我不起作用horizontal 检查Ch
  • Python - 等待没有高CPU使用率的条件

    在这种情况下 假设我想等待一个可能在任何随机时间发生的条件发生 while True if condition Do Whatever else pass 正如您所看到的 直到条件为 True 时才会发生 pass 但是 虽然条件不成立 但