Очереди сообщений - это способ решить вашу проблему.
Если вы хотите отправить свой конечный автомат внешними событиями из других потоков, они могут записывать эти события в очередь сообщений, которая будет считана вашим конечным автоматом.
Если вы хотите, чтобы другие действия запускались с действий с вашего конечного автомата, он может записывать в различные очереди сообщений, каждый из которых связан с потоком, который будет считываться из его MQ.
Один из недостатков заключается в том, что события сортируются в хронологическом порядке. Если ваш государственный аппарат не настроен обрабатывать событие, которое он просто читает из очереди, вам нужно решить, что делать с этим событием: уничтожить его, вернуть его в очередь, запомнить его для использования в будущем ...
Я с интересом прочитал ваш последний параграф о заказе события. Можете ли вы случайно указать мне на примеры, источники или статьи об управлении очередью событий в государственных машинах? – BiAiB