Я работаю с конечным автоматом на основе QScxmlStateMachine
. Некоторые переходы автоматически запускаются кодом в обработчиках onEntry, другие запускаются внешними событиями (например, кликом пользователя).
Выполнение конечного автомата асинхронно. Этот код не блокирует:
m_statemachine->submitEvent("user_initialize", settings);
Отлично. Что я хочу знать, так это то, как тогда выполняется обработка внутри конечного автомата.
Это первое событие ставится в очередь и асинхронно входит в состояние инициализация, а как насчет событий, которые могут быть запущены в этот код состояния onEntry, они тоже поставлены в очередь?
Соответствует ли внутренний цикл событий может обрабатывать некоторые другие события графического интерфейса перед обработкой следующего перехода?
И, я предполагаю, что нет, цикл событий конечного автомата в отдельная ветка?