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使用率的条件 的相关文章

随机推荐

  • 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 但是 虽然条件不成立 但