|
|
1
3
屏障可以通过人为的例子在整个地方使用,但您通常会在分散/减少方法中看到,在继续之前,不同线程的结果都是必需的。 例如,如果您想并行排序,您可以将列表拆分N次,启动N个线程来排序它们的部分并暂停,当它们全部完成时,它们会死掉,让父级知道最后可以合并排序的块。(我知道有更好的方法,但这是一种实现)。 我看到的另一个地方是在并行网络中, 有 为每个有效载荷发送一定数量的数据。因此,该接口将启动n个桶,等待它们全部填满后再发送出去。当你想到一个分区的T1行时,Sorta是有意义的,在64个多路复用分区上发送一次数据脉冲比发送1个分区的数据要好(因为包必须用0填充,所以基本上成本相同)。 希望这些事情能让你思考这个问题! |
|
|
2
1
例子: 一组线程同时工作来计算一个结果集,并且所述结果集(部分/全部)需要作为对“屏障”处的部分/所有线程的下一个处理阶段的输入。
屏障使同步多个线程更容易,而无需围绕多个线程构建解决方案。
我不能说我见过
|
|
|
3
0
msdn:障碍物是一种阻止并行操作中的单个任务继续进行的对象,直到所有任务到达障碍物为止。当并行操作发生在 阶段,每个阶段都需要在任务之间进行同步。 |