gpt4 book ai didi

c# - 如何让每个方法等待完成 parallel.Foreach 中的另一个方法?

转载 作者:太空宇宙 更新时间:2023-11-03 21:18:13 24 4
gpt4 key购买 nike

我对使用 Task Parallel 的“parallel 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 都会同步调用给定的委托(delegate)。也就是说,它将执行 MyClass1.Function,然后执行 MyClass2.Function,然后执行 MyClass2.Method1。这是假设您的方法是同步的,并且您没有在任何方法的后台线程中执行任何操作。

想象一下:

                Items
| | | |
Item1: Item2: Item3: Item4:
Function1 Function1 Function1 Function1
Function2 Function2 Function2 Function2
Method1 Method1 Method1 Method1

关于c# - 如何让每个方法等待完成 parallel.Foreach 中的另一个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32693926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com