架構實踐 - 2. 架構設計之事件系統(獨立構件風格)

1、概要設計

       設計2個線程,main_loop線程,和main_handler線程。main_loop線程負責流程控制,main_handler線程負責運算處理。系統通過發送event事件,來觸發函數處理。event事件依靠隊列,實現串行處理。串行處理能有效降低系統的難度,避免並行處理帶來的線程等待、臨界條件等處理。

 

2、詳細設計

 

3、模塊實現

3.1. queue模塊

處理event事件觸發,main_loop線程將要處理的event事件,放入隊列中。main_handler線程,從隊列中取出event事件,並解析event,調用對應的event處理函數。

 

3.2 timer模塊:

處理定時器任務,main_loop線程將系統時間+等待時間,放入list中。main_handler線程,不斷去查詢系統時間和list時間對比,到期,就執行定時器對應函數。

 

喜歡就支持一波哦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章