2

我知道在 async_write 工作时操纵 streambuf 是不安全的,正如 asio 作者在 boost 邮件列表中所述。我想知道的是,在 async_read 之后操作 streambuf 是否安全?

例子:

async_read(socket_, recv_streambuf_, ...);
// manipulated while async_read is working
// for example, after I call async_read,
recv_streambuf_.consume(2); 
// or something advance, like this...
int var;
std::istream recv_is(recv_streambuf_);
recv_is >> var; 
4

1 回答 1

1

当你的 async_read 回调被执行时,你应该能够对 streambuf 做任何你喜欢的事情。回调让我们知道 asio 何时使用完内存。

于 2010-09-01T13:07:17.743 回答