strand::post()和之间的性能差异是什么strand::wrap()?使用时关于比赛条件的故事是什么strand::wrap(?
1331 次
1 回答
4
只是为了澄清,strand::wrap只创建一个处理程序,提供的处理程序和返回的处理程序都不会分派或发布到io_service. 如果结果 fromstrand::wrap被执行,那么开销的性能差异可以忽略不计。但是,使用 包装的处理程序可能会出现感知的性能差异dispatch(),在某些情况下,用户的处理程序将立即执行,而不是post(),用户的处理程序总是添加到队列中。
此外,使用链时不应存在竞争条件。根据文档,对于不同的和共享的对象,它是线程安全的。
于 2013-01-19T13:22:05.667 回答