ERLANG OTP源码分析 – gen_fsm
gen_fsm和gen_server非常的类似, 在gen进程递归调用loop函数的过程中,除有StateData还额外有一个StateName的atom, 它决定了下次执行的函数. 另外一个不同之处是, gen_server程序是由调用进程向gen进程发送消息, 一种cs模式的调用关系,而gen_fsm程序中这个发送消息的通常都是gen进程本身. init 初始化过程和gen_server很类似, 区别是init返回必须获得一个当前状态StateName, 这样才能继续接下来的事件处理.