Как я могу реализовать неблокирующие задержки перехода в Boost Statechart?Как добавить задержки перехода в Boost :: Statechart
ответ
Я вижу два способа интерпретации вашего вопроса. Если вы хотите реализовать асинхронный конечный автомат, используйте http://www.boost.org/doc/libs/1_55_0/libs/statechart/doc/tutorial.html#AsynchronousStateMachines
В противном случае, если вы хотите отложить переход, вы можете реализовать настраиваемый переход, который всегда отбрасывает событие, но устанавливает таймер с асинхронным обратным вызовом, который отправляет другое событие, которое вызывает переход произойдет позднее. Скорее всего, вы не хотите обрабатывать события в это время. Поэтому вместо того, чтобы отбрасывать событие, вы также можете перейти в состояние WaitingToTransition, которое отменяет все события, кроме одного из обратного вызова таймера. Если вы не хотите вызывать действия OnExit перед отложенным переходом, вы можете добавить состояние WaitingToTransition в качестве подэлемента, а не выполнить начальное состояние.
Если ни один из этих ответов не отвечает вашим потребностям, просьба предоставить более подробную информацию о том, что вы хотели бы сделать.
Вы имеете в виду async. Государственный аппарат? –