C# 多线程 07-使用 PLINQ 00-简介
🏷️ 《C# 多线程》
并行库
并行库随着 .NET Framework 4.0 一起发布,包含三大主要部分:
任务并行库(TPL)
并发集合
并行 LINQ(或 PLINQ)
编程模型
任务并行(task parallelism)
将程序分割成一组任务并使用不同的线程来运行不同的任务
无结构并行(unstructured parallelism)
数据并行(data parallelism)
将数据分割成较小的数据块,对这些数据块进行并行运算,然后聚合这些计算结果
结构并行(structured parallelism)
Parallel
任务并行库中有一个名为 Parallel
的类,其提供了一组 API 用来实现结构并行。
它仍然是 TPL 的一部分。
当使用 Parallel
类的 API 时,无需提供分割工作的细节,但仍要显示定义如何从分割的结果中得到单个结果。
PLINQ
PLINQ 具有最高级抽象。
它自动将数据分割为数据块,并且决定是否真的需要并行化查询,或者使用通常的顺序查询处理更高效。
PLINQ 基础设置会将分割任务的执行结果组合到一起。
有很多选项可供程序员优化,使用尽可能高的性能获取结果。