c++ - 信号处理程序与事件处理程序

标签 c++ linux windows events signals

最近在一次采访中,他们让我指出信号处理程序和事件处理程序之间的区别。我从未在 Linux 中遇到过事件处理程序,但在使用 Google 搜索后,我发现 Windows 中存在事件处理程序。

我只想了解有关此问题的更多信息。欢迎提供任何信息。

最佳答案

我发现用户必须编写事件处理函数才能捕获事件,而内核为程序提供了默认的信号处理程序。

事件处理程序负责处理程序外部的事件,如键盘中断、鼠标单击等。事件处理程序将在特定插槽上连续轮询以等待事件发生。所以在这里它可能会消耗 CPU 生命周期。

信号处理程序还用于两个进程之间的进程间通信。用户可以为进程定义自己的信号处理程序来处理特定的信号。在信号处理机制中,我认为不会不必要地消耗任何 CPU 周期。

如果标题不正确,请指正。

关于c++ - 信号处理程序与事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18500474/

相关文章:

c++ - auto_ptr 会防止这种情况发生吗?

linux - iptables - 多端口规则链退出并拆分为多个单端口链

c++ - 线程间通信。如何向另一个线程发送信号

java - 在 NTFS 上用 Java 创建稀疏文件

c++ - 在控制台中显示从文件中读取的文本

c++ - 在打印 vector 内容时添加空格和新行

c++ - GetAdaptersInfo 崩溃

python - 如何让 pip 再次工作?

linux - 我从 .profile 和 .bashrc 中删除了路径,但仍然存在于 $PATH 中

windows - 从 powershell 递归归档某种类型的所有文件