我正在尝试使用新的.NET 4.0任务并行库
处理2个独立的任务inputList1 is List<CustomObject>
inputList2 is List<DateTime>
List<double> firstCall = GetDoubleListing(inputList1, inputList2);
List<double> secondCall = GetAnotherListing(inputList3, inputList2);
inputList2在两个调用中都很常见(它是一个只读列表)。
我尝试使用以下代码但仍然遇到异常
Task[] tsk = {
Task<List<double>>.Factory.StartNew(GetDoubleListing(inputList1, inputList2)),
Task<List<double>>.Factory.StartNew(GetAnotherListing(inputList3, inputList2));
};
有人可以指导我如何传递参数以及如何启用任务并行库。
答案 0 :(得分:3)
您似乎只希望并行完成GetDoubleListing()
和GetAnotherListing()
次呼叫。 StartNew()
的重载需要委托。由于参数没有变化,您可以使用lambdas进行调用:
Task[] tsk =
{
Task<List<double>>.Factory.StartNew(() => GetDoubleListing(inputList1, inputList2)),
Task<List<double>>.Factory.StartNew(() => GetAnotherListing(inputList3, inputList2));
};