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時間對比,到期,就執行定時器對應函數。
喜歡就支持一波哦~