Задачи, отправленные в io_context, никогда не выполняются
boost::asio::io_context io;
std::thread worker([&] { io.run(); });
// позже, по событиям из основного потока:
boost::asio::post(io, [] { flushMetrics(); });
flushMetrics не вызывается ни разу, отладчик показывает, что поток worker давно завершился. Почему?
- run() без работы сразу возвращается; нужен work_guard
- post нельзя вызывать из другого потока
- io_context надо запускать через run_one в цикле
- Лямбда в post должна принимать error_code
