gpt4 book ai didi

linux - 中断处理程序可以写入 FIFO

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:40:46 24 4
gpt4 key购买 nike

我有一个线程正在等待在 FIFO 上接收到的事件。大多数事件是从同一进程中的另一个线程发送的配置事件。我希望线程也能够通过让中断处理程序写入 FIFO 来处理中断事件,这可能吗?

欢迎提出任何其他代替使用 FIFO 的建议!

最佳答案

是的,它可以。使用中断处理程序是处理异步 I/O 的较新方法之一。

执行此操作的更典型方法是使用 select、poll 或 Linux epoll 命令。

这些可以说是更受欢迎的,因为不是在事件可用时“中断”你的代码 - 你能够处理事件并返回到“轮询”循环以在你时获得更多事件完成 之前的事件。这些机制可以同时等待多个不同的文件描述符,并返回可用的一个。

中断处理程序可能不是您想要的 - 因为您不一定希望在处理一个事件时被打断以了解另一个事件已准备就绪。如果你这样做了,你可能最终会将请求排队等待以后处理——这正是 poll 和 epoll 开始的目的。

如果您在 Linux 下,“epoll”是最佳选择。如果您不这样做(或希望符合 POSIX),请使用“轮询”。 “select”是一种“较旧”的方法,也不会对请求进行排队。

关于linux - 中断处理程序可以写入 FIFO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4579040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com