串行提升线程在循环中加入与在主中并行
Posted
技术标签:
【中文标题】串行提升线程在循环中加入与在主中并行【英文标题】:serial boost thread joins in loop vs parallel in main 【发布时间】:2013-09-12 16:04:46 【问题描述】:在尝试理解 this answer 时,我发现了许多类似的问题,当然还有文档,但没有解释原因。
为什么main
中调用的join
s 可以并行运行,而main
中循环调用的join
s 不能?
【问题讨论】:
【参考方案1】:想想事件的顺序。这就是区别
start thread 1
start thread 2
wait for thread 1 to finish
wait for thread 2 to finish
和
start thread 1
wait for thread 1 to finish
start thread 2
wait for thread 2 to finish
显然,在第二种情况下,两个线程永远不会同时运行。
【讨论】:
以上是关于串行提升线程在循环中加入与在主中并行的主要内容,如果未能解决你的问题,请参考以下文章