c - 从一个描述符进行非阻塞读取的效率
问题描述
我开发了一个 C 程序,它监视来自不同来源的传入消息并根据消息进行处理。我的职责是只等待一个来源。
当然,等待必须是非阻塞的。
这样做最有效的方法是什么?
一个非阻塞的 read() ?
选择/轮询/epoll 方式?
好吧,如果消耗的 CPU/时间大致相同,我会选择更简单的选项,即读取选项。谢谢。
解决方案
select
文件描述符超时。如果您的选择超时是无限的,请改用阻塞读取。如果您的选择有超时但您的程序没有执行任何其他操作,请改用阻塞读取。
推荐阅读
- python - 如何在没有索引的熊猫列的末尾添加一个值
- node.js - 如何在 NodeJS/GraphQL 解析器中从结果中删除节点部分
- swiftui - 在SwiftUI中沿着侧面列表视图绘制带圆圈的垂直线
- json - 如何在 PL /SQL 中使用 JSON_KEY_LIST 从嵌套的 JSON_OBJECT_T 中读取键?
- excel - 循环通过超链接集合时,VBA 抛出运行时错误“70 权限被拒绝”
- python - 将“datetime64”与其他列相乘的关键错误
- powerbi - PowerBI 计算列将字符串转换为可排序值
- javascript - 防止图像边框在切换时更改?
- java - 强制 ReactorClientHttpConnector 将 p12 证书与 httpClient 一起使用
- python - 以编程方式访问 IAP 背后的网站?