许多个人电脑和工作站具有多个 CPU 核心,使多个线程能够同时执行。 若要利用硬件,可以将代码并行化,以跨多个处理器分配工作。
过去,并行化需要对线程和锁进行低级操作。 Visual Studio 和 .NET 通过提供运行时、类库类型和诊断工具,增强了对并行编程的支持。 在 .NET Framework 4 中引入的这些功能简化了并行开发。 可以在自然成语中编写高效、精细且可缩放的并行代码,而无需直接处理线程或线程池。
下图简要概述了 .NET 中的并行编程体系结构。
相关主题
科技 | DESCRIPTION |
---|---|
任务并行库 (TPL) | 提供 System.Threading.Tasks.Parallel 类的文档,其中包括 For 和 ForEach 循环的并行版本,以及 System.Threading.Tasks.Task 类,该类代表处理异步操作的首选方法。 |
并行 LINQ (PLINQ) | LINQ to Objects 的并行实现,可显著提高许多方案中的性能。 |
用于并行编程的数据结构 | 提供线程安全集合类、轻型同步类型和延迟初始化类型的文档链接。 |
并行诊断工具 | 提供一些链接,这些链接指向任务和并行堆栈的 Visual Studio 调试器窗口和并发可视化工具的文档。 |
PLINQ 和 TPL 的自定义分区器 | 描述分区程序的工作原理以及如何配置默认分区程序或创建新的分区程序。 |
任务计划程序 | 描述计划程序的工作原理和默认计划程序的配置方式。 |
PLINQ 和 TPL 中的 Lambda 表达式 | 简要概述了 C# 和 Visual Basic 中的 lambda 表达式,并介绍了如何在 PLINQ 和任务并行库中使用它们。 |
供进一步阅读 | 提供指向用于 .NET 中并行编程的其他信息和示例资源的链接。 |