在我的程序中,我想从生成协程调用async_receive_from
。现在,协程什么时候才能完成或终止? work()
何时完成执行? async_receive_from
内部的处理程序将再次调用async_receive_from
安排下一个异步调用。
当我致电boost::asio::spawn(io_service, work)
void work(yield_context yield)
{
boost::asio::socket.async_recieve_from()
}
如果我会发生什么:
void work(yield_context yield)
{
while(1)
async_read();
}
void async_read() {
boost::asio::socket.async_recieve_from(handler);
}
此处处理程序将不会再次调用async_read()
。