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