【发布时间】:2012-02-03 02:40:21
【问题描述】:
此示例来自 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 视为“令人愉快的并行”?这似乎是在多个线程上拆分的理想选择,因为列表中的每个元素都独立于其他元素。
【问题讨论】:
-
引用 - “queryB 可能不是一个好的候选,因为 Select 语句中没有足够的工作,并行化的开销将抵消大部分或全部加速”
-
如你所见,这个世界上有两种人:user981225 和 user1096188。