c++ - boost msm - boost msm 多个延迟事件

标签 c++ boost state-machine boost-msm

假设我有 2 个状态:事件状态和空闲状态。如果我在事件状态下收到一些事件,我想推迟它们并在返回空闲状态时执行它们。

但是当我回到空闲状态时,有没有办法选择要处理哪个先前推迟的事件?或者有没有办法优先考虑它们,甚至忽略其中的少数?

谢谢

最佳答案

我发现项目提供的文档中涵盖了延迟事件的基本功能,我发现这些文档总体上很有帮助。在标题为 Orthogonal regions, terminate state, event deferring 的部分中查找文本“UML 将事件延迟定义为状态属性。为了适应这一点,MSM 允许您通过提供 deferred_events 类型在状态中指定这一点...”请注意,其中描述了两种不同的方法来实现延迟事件。

在没有测试示例的情况下,我无法说有关冲突转换和防护的引用 Material 是否允许您确定您在延迟事件上寻求的优先级。您可以发布您的问题或简化的示例。

关于c++ - boost msm - boost msm 多个延迟事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13691625/

相关文章:

c++ - boost asio read_until 文件异常结尾?

state-machine - 有限状态机,其操作取决于当前状态之前的状态

c# - 排队 ObservableCollection 更新

C++ 获取错误 C2440

c++ - 错误 LNK2005 : xxx already defined in MSVCRT. lib(MSVCR100.dll) C :\something\LIBCMT. lib(setlocal.obj)

c++ - 高效计算 32 位整数乘法的高阶位

rust - 使用状态机模式时解决 Rust 所有权问题

C++ 初学者 : what is the point of using a variable by reference if using "const"?

c++ - 针对特定后端的 Boost.Locale 测试

c++ - std::shared_ptr 和继承