受控并行任务执行使用什么
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了受控并行任务执行使用什么相关的知识,希望对你有一定的参考价值。
我正在对某些对象运行并行任务,以使它们更快地并行运行4。现在有一个新的要求,我需要执行一项任务,一次一个地执行,而其他人必须等待(其他人不能执行另一个任务)。
我无法进行测试同步。
请查看下面的图片作为更好的解释。
一次执行一个,但我想使用信号量在开始和结束时等待4个对象。问题是信号量不等待所有人完成以便让另一个人进入。
它必须只在所有4个完成后才开始执行。我该怎么用?
答案
使用Barrier
对象,参与次数为4.这是一个例子:
var barrier = new Barrier(4);
然后在你的任务方法中:
//do some work
//now, wait
barrier.SignalAndWait();
所有方法都将等到所有参与者都调用SignalAndWait()
然后它们将继续。
以上是关于受控并行任务执行使用什么的主要内容,如果未能解决你的问题,请参考以下文章