如何在Boost Statechart中实现非阻塞转换延迟?
发布于 2013-12-08 06:05:38
我看到了两种解释你的问题的方式。如果希望实现异步状态机,请使用http://www.boost.org/doc/libs/1_55_0/libs/statechart/doc/tutorial.html#AsynchronousStateMachines
否则,如果您想要延迟一个转换,您可以实现一个自定义转换,该转换总是丢弃事件,但使用异步回调设置一个计时器,该回调会发布一个不同的事件,这会导致转换在稍后发生。不过,您很可能不想在这段时间内处理事件。因此,除了丢弃事件之外,您还可以转换到WaitingToTransition状态,该状态将延迟除来自计时器回调的事件之外的所有事件。如果您不想在延迟转换之前调用OnExit操作,那么可以将WaitingToTransition状态添加为子状态,同时添加一个不做任何事情的初始子状态。
如果这两个答案都不能满足您的需求,请提供有关您想要做什么的更多信息。
https://stackoverflow.com/questions/17491408
复制相似问题