最近學習應用中有用到狀態機,下面梳理總結下狀態機的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 循環。