对于软件模块而言,要把状态机做出来,这个状态机做出来之后,很多的东西就搞好了。
一、状态机的概念
有限状态机(finite state machine)简称FSM,表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用。FSM是一种逻辑单元内部的一种高效编程方法,在很多方面都有应用。
例子如下,有限状态机用于TCP/IP协议栈
二、开源实现
https://github.com/elimisteve/fsm
https://github.com/smallnest/gofsm
三、自己的状态机实现
暂时不做,后续再补充
参考资料
1.状态机的维基词条见https://zh.wikipedia.org/wiki/%E6%9C%89%E9%99%90%E7%8A%B6%E6%80%81%E6%9C%BA
2.状态机的英文维基词条见https://en.wikipedia.org/wiki/Finite-state_machine
3.QT的状态机文档见http://doc.qt.io/archives/qt-4.8/statemachine-api.html
4.《有限状态机在单片机编程中的应用》,见https://blanboom.org/2015/finite-state-machine-in-microcontrollers/