此示例来自PLINQ MSDN文章:
http://msdn.microsoft.com/en-us/library/dd997399.aspx
var queryA = from num in numberList.AsParallel()
select ExpensiveFunction(num); //good for PLINQ
var queryB = from num in numberList.AsParallel()
where num % 2 > 0
select num; //not as good for PLINQ为什么queryB不被认为是“令人愉快的并行”?这似乎是在多个线程上拆分的理想选择,因为列表中的每个元素都独立于其他元素。
发布于 2012-02-03 02:40:22
第二个例子不是一个很好的并行化候选者的原因很简单,因为在多个线程上划分工作产生的开销通常很高,所以并行完成的工作必须超过这个开销。低成本的手术不是一个好的选择。
https://stackoverflow.com/questions/9117960
复制相似问题