#c #asio
Вопрос:
Я хочу использовать asio без повышения. В учебнике Asio есть такой пример https://think-async.com/Asio/asio-1.18.2/doc/asio/tutorial/tuttimer5/src.html
class printer
{
public:
printer(asio::io_contextamp; io)
: strand_(asio::make_strand(io)),
timer1_(io, asio::chrono::seconds(1)),
timer2_(io, asio::chrono::seconds(1)),
count_(0)
{
timer1_.async_wait(asio::bind_executor(strand_,
boost::bind(amp;printer::print1, this)));
timer2_.async_wait(asio::bind_executor(strand_,
boost::bind(amp;printer::print2, this)));
}
private:
asio::strand<asio::io_context::executor_type> strand_;
asio::steady_timer timer1_;
asio::steady_timer timer2_;
int count_;
};
Я пытаюсь сделать это без наддува, но я не знаю, как заменить asio::strand<asio::io_context::executor_type> strand_;
Я не знаю, как синхронизировать обработчики в многопоточных программах. Не могли бы вы посоветовать некоторые сайты об asio без наддува?