状态机思想及其在程序设计中的运用

1.状态机及状态机思想

       状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。
       先来解释什么是“状态”(State)。现实事物是有不同状态的,通常所说的状态机是有限状态机,也就是被描述的事物的状态的数量是有限个,例如一件事情有开始、运行和结束;事情由开始、运行到结束变换。
       状态机,也就是 State Machine ,不是指一台实际机器,而是指一个数学模型。说白了,一般就是指一张状态转换图。

       状态机由几个元素组成:

       第一个是 State ,状态。一个状态机至少要包含两个状态。

      第二个是 Event ,事件。事件就是执行某个操作的触发条件或者口令。

      第三个是 Action ,动作。事件发生以后要执行动作.编程的时候,一个 Action 一般就对应一个函数。

      第四个是 Transition ,变换。也就是从一个状态变化为另一个状态。例如“开门过程”就是一个变换。

      状态机思想是计算机科学中重要思想,状态机思想在计算机研发中应用很广泛。跟状态机类似的概念还有图灵机,图灵机就是计算机底层采用的计算模型。

2.状态机思想在程序设计中的运用

       一般来说,计算机的状态机,可以用枚举值进行定义。

        

enum State
{
    Init = 0,
    Running,
    Pause,
    Stop, //Stop即初始
};

     定义状态以后,进设置Action和Event设置(Action和Event需要对应),即可设置状态机变换,从而让程序运行到合理状态。

猜你喜欢

转载自blog.csdn.net/wangzhezhilu001/article/details/107342443