2013年5月29日 星期三

(程式: C語言) State Machine 入門版範本

#include <stdio.h>

enum Action
{
INIT,  //0 
PUT, 
WAIT, 
GET,
END, 
};

int main(void)
{
int state = INIT;  //default state

for(;;)
{
switch(state)
{
case INIT:
printf("STATE=INIT..\n");
state=PUT;
break;
case PUT:
printf("STATE=PUT..\n");
request_auth(); //DO SOME API
state=WAIT;
break;
case GET:
        printf("STATE=GET..\n");
        if(get_auth())            //DO SOME API
    state=END;
        else
    state=WAIT;
        break;
case WAIT:
printf("STATE=WAIT..\n");
sleep(1);
state=GET;
break;
}
 if(state==END)
 {
  printf("STATE=END..\n");
  break;
 }
  }
}


鳥語: state machine 的中譯為「狀態機器」,也太直譯了點,有看沒有懂,還是不要翻譯,用英文比較容易瞭解其意涵… @@

沒有留言:

張貼留言