最近學習應用中有用到狀态機,下面梳理總結下狀态機的quit
1、狀态機類圖
狀态機StateMachine構造的時候預設溝通一個HandleThread線程來處理消息
SmHandle(HandleThread)管理狀态機的各種狀态,狀态機退出的時候會調用Smhandle的quit函數發送消息SM_QUIT_CMD給到Handle的消息隊列中。
2、狀态機退出
StateMachine退出:發送SM_QUIT_CMD消息,然後在handle中處理該退出消息時,轉到QuitingState狀态,
調用狀态即的onQuiting方法,處理一些退出操作。
StateMachine Quiting操作處理完成後調用clearUpAfterQuiting來退出Handle線程。
Handle線程的Loop Quit會先清空退出資訊,然後退出loop 循環。