2013-08-29 166 views
2

最近在一次採訪中,他們讓我指出信號處理程序和事件處理程序之間的區別。我從來沒有在Linux中遇到過事件處理程序,但在用Google搜索後,我發現Windows中有事件處理程序。信號處理程序vs事件處理程序

我只想要一些關於這個問題的更多信息。任何信息是最受歡迎的。

+0

信號比事件更粗糙,更具有侵入性。 GUI程序通常有一個響應事件的主循環 - 在WinAPI和X11中。 –

+0

我編輯過,請糾正我@Jonathan Leffler。 –

回答

0

我發現用戶必須編寫事件處理函數才能捕獲事件,而內核爲程序提供了默認信號處理程序。

事件處理程序負責處理程序外部的事件,如鍵盤中斷,鼠標點擊等。事件處理程序將持續在特定插槽上輪詢事件以發生事件。所以這裏可能會消耗CPU的生命週期。

信號處理程序還用於兩個進程之間的進程間通信。用戶可以爲進程定義自己的信號處理程序來處理特定的信號。在信號處理機制中,我認爲不需要任何CPU週期。

請糾正我,如果不正確的方式標題。