Parallel.ForEach
会阻塞直到所有线程返回。下面的每个objectType实际上都是一个列表。在这种情况下,有没有办法只使用一次Parallel.ForEach
?请给予建议。
Main(){
List<Type1> objectType1 = ...
List<Type2> objectType2 = ...
List<Type3> objectType3 = ...
Parallel.ForEach(objectType1, MyFunction)
Parallel.ForEach(objectType2, MyFunction)
Parallel.ForEach(objectType3, MyFunction)
}
这是我的函数:
MyFunction (object arg) {
//some code here
if (arg is Type1) { ProcessType1(arg as Type1); }
else if (arg is Type2) { ProcessType2(arg as Type2); }
else if (arg is Type3) { ProcessType3(arg as Type3); }
//some more code here
}