理解boost :: asio中的prioritised_handlers.cpp示例

时间:2011-02-04 00:42:22

标签: c++ boost boost-asio

我正在使用boost::asio,我正在尝试控制我的处理程序被调用的顺序。我被指向prioritised_handlers.cpp示例。当我试图改编它时,我没有得到我期望的行为。当我从处理程序中将处理程序传递给io_service.post时,处理程序永远不会运行。

我开始尝试找到我不理解的行为的最小例子。因此,请对http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/example/invocation/prioritised_handlers.cpp

进行以下修改

简单示例:

161   while (io_service.run_one())
162   {
163     // The custom invocation hook adds the handlers to the priority
164     // queue
165     // rather than executing them from within the poll_one() call.
166     while (io_service.poll_one())
167       ;
168     io_service.post(pri_queue.wrap(1, low_priority_handler));
169 
170     pri_queue.execute_all();
171 
172   }

0 个答案:

没有答案