Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Boost状态图,独立FSM之间的通信_Boost_Statechart_Boost Statechart - Fatal编程技术网

Boost状态图,独立FSM之间的通信

Boost状态图,独立FSM之间的通信,boost,statechart,boost-statechart,Boost,Statechart,Boost Statechart,假设我创建了几个独立的FSM类,这些类继承自statechart。然后,我实例化这些对象,我希望它们能够相互触发事件;例如,第一个FSM将进入“开”状态,并将在第二个FSM中触发一个事件(如process_event(EvSomething())) 最好的方法是什么 多谢各位 法布里齐奥的主要动机正是你所描述的情景。因此,我建议您将机器转换为异步机器。参见示例。FMS是同步的还是异步的?是的,在Igor的评论后我意识到了这一点。现在就处理它。无论如何,如果FSM不是双向工作的(它们只是在其他FS

假设我创建了几个独立的FSM类,这些类继承自statechart。然后,我实例化这些对象,我希望它们能够相互触发事件;例如,第一个FSM将进入“开”状态,并将在第二个FSM中触发一个事件(如process_event(EvSomething()))

最好的方法是什么

多谢各位


法布里齐奥的主要动机正是你所描述的情景。因此,我建议您将机器转换为异步机器。参见示例。

FMS是同步的还是异步的?是的,在Igor的评论后我意识到了这一点。现在就处理它。无论如何,如果FSM不是双向工作的(它们只是在其他FSM中触发process_事件,但不期望任何结果),它们是否能够以同步方式正确工作?@fabrice79:问题是给定state_机器子类对象的process_事件不可重入。因此,只要确保不违反此约束,一切都应按预期工作。