c# - 如何使用 PLINQ 执行 IO 密集型任务?

标签 c# .net linq concurrency

根据this question的回答,没有办法有效地使用 LINQ 来执行 IO 密集型任务。有没有办法获得更好的控制,或者 LINQ 不适合此类任务?

最佳答案

我不同意你的结论。在另一个问题中,卢克表示:

From the MSDN documentation: "Degree of parallelism is the maximum number of concurrently executing tasks that will be used to process the query". WithDegreeOfParallelism is just a hint that PLINQ should use no more than n threads.

Plinq 仅决定在代码中使用两个线程而不是十个线程这一事实并不意味着它不适合 IO 密集型任务。这意味着(很可能)两个线程最适合您的代码,而不是十个。

关于c# - 如何使用 PLINQ 执行 IO 密集型任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1812807/

相关文章:

.net - 解决 x64 com 互操作编码(marshal)处理问题

c# - 您可以在自己的初始化行中使用变量(字典中的 tryGetOrElse)吗?

c# - 在 LINQ 查询 'if' 语句中实现条件 'where' 语句

c# - Roslyn,通过 hostObject 传递值

c# - (WPF) 如何使用每行中的按钮更改 listBox 中的按钮图像背景?

c# - 等待手动创建的任务不考虑内部等待

c# - 如果一个应用程序中的多个线程调用单个 DLL 会发生什么

.NET 图表控件 - X 轴文本旋转

c# - 跨多层次关系的 Entity Framework 查询

c# - LINQ:如何在获取父类型的子集合时获取父类型的属性