如何在Boost::Statechart中添加转换延迟
How to add transition delays in Boost::Statechart
如何在Boost Statechart中实现非阻塞转换延迟?
我看到了两种解释问题的方法。如果要实现异步状态机,请使用http://www.boost.org/doc/libs/1_55_0/libs/statechart/doc/tutorial.html#AsynchronousStateMachines
否则,如果你想延迟转换,你可以实现一个自定义转换,它总是丢弃事件,但设置一个带有异步回调的计时器,该计时器会发布一个不同的事件,导致转换在以后发生。不过,你可能不想在这段时间内处理事件。因此,您也可以转换到WaitingToTransition状态,而不是丢弃事件,该状态将延迟除计时器回调之外的所有事件。如果不想在延迟转换之前调用OnExit操作,可以将WaitingToTransition状态添加为子状态,同时添加一个无所事事的初始子状态。
如果这两个答案都不符合您的需求,请提供更多关于您想做什么的信息。
相关文章:
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 我正在尝试编写将 ASCII 转换为十进制、添加并转换回 ASCII 的软件
- 转换为大写会在末尾添加一个额外的字母吗
- 尝试向 COM 对象添加另一个接口时出现静态强制转换错误 C2440
- 如何将任何值转换为对象并使用 boost::p roperty_tree json 添加成员
- 上交所的添加和转换
- Catch2 迫使我在异常中添加对 std::string 的强制转换,这会产生其他问题吗?
- C++ 如何将用户控件添加到窗体,以便我可以在面板之间转换
- 如何将整数向量转换为 2 位十六进制并按顺序添加到 c 字符串?
- C++基本的转换,然后添加用户输入
- 在范围内添加位操作和转换式的枚举 - 圣诞节探索
- C :转换为int和添加时,我的角色数组获得了奇怪的值
- 如何编写特征转换以将"const"添加到类型*
- 运算符重载:简单添加...错误 C2677:二进制"+":未找到采用类型 ___ 的全局运算符(或者不存在可接受的转换)
- C++将友元添加到模板类中以便进行类型转换
- 降低字符串字符,并在转换的大写字母前添加一个_
- 当我添加OpenGL转换时,我的图像不断消失
- 向向下转换结构添加属性值会导致分段错误
- 如何在Boost::Statechart中添加转换延迟
- 在不触及类的情况下添加转换构造函数