这次我有一个关于状态机超时的问题。 我的情况是这样的,参考下面的图像
在进入StateBasic时,我执行一些操作,并且工厂给出的机器在WaitForTemplateResult等待,直到其中一个事件为VAS_QRY_RES或MAIN_QRY_RES。
现在还有一个超时,它会在30秒后触发。 所以现在发生的事情是,即使VAS_QRY_RES或MAIN_QRY_RES到来,超时也会被触发。
我研究了这个问题,我能够呈现的解释是,当我第一次进入StateBasic时,StateMachineFactory分配一个带有uuid的机器,当VAS_QRY_RES或MAIN_QRY_RES到来时,它分配另一台我确认是另一台机器的机器。无论如何,前一台机器的超时都会激活(使用第一台机器)。