Гарантирует ли boost::asio::io_service, что обработчики вызываются в том же порядке, в котором они передаются через post()? Я не могу найти ничего, что говорит это в документации. Предположим, что вызовы io_service::post сериализированы.
boost::asio::io_service
post()
io_service::post
afaik, если вам нужен гарантированный порядок выполнения обработчика post, вы должны использовать strand , как описано в документации .
post
strand
Текущая реализация выполняет вещи в той последовательности, в которой вы их публикуете, но упорядочение гарантируется только для тех обработчиков, которые явно отправлены () через strand.