正确调用每个c#的Parallel

本文关键字:Parallel 调用 | 更新日期: 2023-09-27 18:05:08

我有一个类似于下面的方法签名:

private void MyMethod(List<MyObject> myObjects, string test)

我想并行调用这个方法。但不确定我应该如何传递字符串参数?

当前我的调用看起来像:

Parallel.ForEach(myObjects, new ParallelOptions { MaxDegreeOfParallelism = 5}, MyMethod);

传递两个形参的正确方法是什么?

正确调用每个c#的Parallel

MyMethod应该只取一个MyObject类型的参数(而不是List<MyObject>)。

所以它应该有这个签名
private void MyMethod(MyObject myObjects, string test)

之后,如果您想添加额外的参数

,您只需要添加一个包装器
Parallel.ForEach(myObjects,
new ParallelOptions { MaxDegreeOfParallelism = 5},
x => MyMethod(x,test));