0
我的問題更多的是一個架構問題。我有多個相同類型的狀態機。說將多個MSM Statemachines連接在一起
controller_type1_sm controller1;
controller_type2_sm controller2;
std::array<worker1_sm,10> workers1;
std::array<worker2_sm,10> workers2;
現在,當一個控制器發送消息,我應該使用調度名稱或ID,向四周通過調用指定的MSM process_event()
線程工作的隊列調度員?
事件可以保存在通用隊列中,但它們從公共基地派生,但process_event()
需要知道它是什麼類型的事件。訪客類派遣他們?有更好的解決方案
當我將事件限制爲數字ID時,我可以刪除很多問題,但另一方面,MSM需要類型而不是ID。
調用process_event()
的線程需要知道它們工作的狀態機的類型。模板顯然...
編輯: 目標是解耦的實現。