如何在boost :: asio :: io上进行连接
这是问题:
在主线程(io - boost :: asio :: io_service)中:
io.post(functor1, callback1)
....
io.post(functorN, callbackN)
io.join() <--- waiting while all the task to be processed and continue to execute the program
代码在循环中执行。 boost::thread_group
可以完美匹配,但它boost::thread_group
创建新线程,而我只想创建工作线程一次, boost::thread_group
派遣任务。 我所见过的所有线程线程都只是围绕着线程+ io_service向量的包装,它不能以我上面显示的方式使用。
那么,我怎样才能使“加入”boost :: asio?
所以,
work_.reset();
thread_group_.join_all();
应该够了。 通常的做法是有
boost::unique_ptr<io_service::work> work_; // non-copyable
要么
boost::optional<io_service::work> work_; // copyable
链接地址: http://www.djcxy.com/p/62681.html
上一篇: How to make join on boost::asio::io
下一篇: closing a boost::asio::ip::tcp::socket with pending connect