c# - 请解释 AsParallel()

标签 c# ienumerable parallel-processing plinq

谁能给我解释一件事。据我了解 AsParallel() 在自己的任务中执行。那么,如果查询返回大量数据,当'foreach'开始执行Console.WriteLine时,变量'd'可以为空吗?

var integerList = Enumerable.Range(1, 100);
var d = from x in integerList.AsParallel()
where x <= 25
select x;
foreach (var v in d)
{
Console.WriteLine(v);
}

最佳答案

AsParallelPLINQ特征。 PLINQ自动并行化本地 LINQ查询。 PLINQ具有易于使用的优点,因为它将工作分区和结果整理的负担卸载到框架。

使用PLINQ , 只需调用 AsParallel()在输入序列上,然后继续 LINQ照常查询。

变量 d在你的情况下 not 只能是空的,因为 PLINQ .如果它将为空,则表示集合中没有满足条件 x <= 25 的元素。 .

您可以阅读更多here

关于c# - 请解释 AsParallel(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5886172/

相关文章:

matlab - parfor 嵌套为 : variable classification depends on loop endVal

c# - 禁用循环返回值的 C# 优化

c# - 使用 IEnumerable 的测试无法读取在 TextFixtureSetup 中初始化的变量

c# - Windows 10 通用应用程序中的滚动查看器有问题吗?

c# - ViewModel 可以具有 IEnumerable<> 类型的属性而不是 Array

c# - 我可以在运行时为 OrderBy 实例化一个 IComparer 类,而不考虑类型吗?

java - 使用 ExecutorService : Doesn't use 100% of my cpu-power 在 Java 中并行重命名图像

使用 newCachedThreadPool() 时,Java 并行流未使用最佳线程数

c# - ASP.net 中的隐藏字段长度是否有任何限制

c# - 更高效的 LINQ 查询