2013-08-29 165 views
2

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

我只想要一些关于这个问题的更多信息。任何信息是最受欢迎的。

+0

信号比事件更粗糙,更具有侵入性。 GUI程序通常有一个响应事件的主循环 - 在WinAPI和X11中。 –

+0

我编辑过,请纠正我@Jonathan Leffler。 –

回答

0

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

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

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

请纠正我,如果不正确的方式标题。