【发布时间】:2015-04-20 17:22:50
【问题描述】:
我正在编写一些非常基本的 TPL 代码,我遇到了一种情况,我很好奇以下两个 sn-ps 是否等效:
myEnumerable.AsParallel().Select(e =>
{
//do some work that takes awhile
return new Thing(e);
}
myEnumerable.Select(e =>
{
//do some work that takes awhile
return new Thing(e);
}.AsParallel()
另外 - 如果它们实际上是等价的,那么它们的等价性是否可以按照 TPL 接口与 IEnumerable 扩展方法的定义进行更改?还是我只是设置自己在更新到 .NET V{Whatever} 时破坏我的代码?
对于背景,myEnumerable 是一个我尚未枚举(进行数据库往返)的 EF 表(实体)。
我想要的行为是同步进行 DB 调用,取回一个 List,并并行操作该列表(在 List 上并行进行一堆 Web 服务调用)
【问题讨论】:
-
想解释一下否决票以便我改进问题?
标签: c# entity-framework parallel-processing task-parallel-library