1

假设您想将项目异步添加到 C# 中的数据结构中。

因此,典型的分步程序通常如下:

List1.add(variable1); 

List2.add(variable2);

List3.add(variable3);

..ETC。

是否可以异步执行此操作?

我还要说每个列表或它各自的变量之间没有依赖关系。

这可以做得很好吗?

4

1 回答 1

5

我还要说每个列表或它各自的变量之间没有依赖关系。
这可以做得很好吗?

是的,只要每个线程都有自己的列表,就没有问题。

还有一个简单的方法:

Parallel.Invoke(
   () => List1.add(variable1), 
   () => List2.add(variable2),
   () => List3.add(variable3)
);

另一方面,List<>.Add()这是一种非常小且快速的方法,因此您不会看到这样做的太多好处。只有当 2 个以上的列表需要同时在内部增长时才有好处。并且有更好的方法来处理这个问题。

于 2012-09-04T08:50:55.990 回答