經驗

什麼是事件驅動編程機制

本文已影響 7.93K人 

什麼是事件驅動編程機制

1、要理解事件驅動和程序,就需要與非事件驅動的程序進行比較。實際上,現代的程序大多是事件驅動的,比如多線程的程序,肯定是事件驅動的。早期則存在許多非事件驅動的程序,這樣的程序,在需要等待某個條件觸發時,會不斷地檢查這個條件,直到條件滿足。而事件驅動的程序,則有機會釋放cpu從而進入睡眠態,當事件觸發時被操作系統喚醒,這樣就能更加有效地使用cpu。

2、一個典型的事件驅動的程序,就是一個死循環,並以一個線程的形式存在,這個死循環包括兩個部分,第一個部分是按照一定的條件接收並選擇一個要處理的事件,第二個部分就是事件的處理過程。程序的執行過程就是選擇事件和處理事件,而當沒有任何事件觸發時,程序會因查詢事件隊列失敗而進入睡眠狀態,從而釋放cpu。

3、事件驅動的程序,必定會直接或者間接擁有一個事件隊列,用於存儲未能及時處理的事件。

4、事件驅動的程序的行爲,完全受外部輸入的事件控制,所以,事件驅動的系統中,存在大量這種程序,並以事件作爲主要的通信方式。

5、事件驅動的程序,還有一個最大的好處,就是可以按照一定的順序處理隊列中的事件,而這個順序則是由事件的觸發順序決定的,這一特性往往被用於保證某些過程的原子化。

猜你喜歡

熱點閱讀

最新文章

推薦閱讀