如何使每个方法等待完成另一个内部parallel.Foreach
本文关键字:另一个 内部 parallel Foreach 何使每 方法 等待 | 更新日期: 2023-09-27 18:13:39
我有一个大问题,"并行for"通过使用任务并行。我想让我的方法和函数同步(相互等待)。
Parallel.For(items, item=>
{
var a = MyClass1.Function(foo.x);
var b = MyClass2.Function(zoo.y, b.z); ---> Should wait "a" result...
var c = MyClass2.Method1(a.x,b.z); -----> Should wait b result...
});
我该怎么做呢?
Parallel.For
将在您的items
集合上并行运行。它处理的每个item
将同步调用给定的委托。这意味着,它将执行MyClass1.Function
,然后执行MyClass2.Function
,然后执行MyClass2.Method1
。这是假设你的方法是同步的,并且你没有在后台线程中做任何事情。
想象一下:
Items
| | | |
Item1: Item2: Item3: Item4:
Function1 Function1 Function1 Function1
Function2 Function2 Function2 Function2
Method1 Method1 Method1 Method1