.NET Framework 中的并行编程

许多个人计算机和工作站都有两个或四个内核(即 CPU),使多个线程能够同时执行。 在不久的将来,计算机预期会有更多的内核。 为了利用当今和未来的硬件,您可以对代码进行并行化,以将工作分摊在多个处理器上。 过去,并行化需要线程和锁的低级操作。 Visual Studio 2010 和 .NET Framework 4 提供了新的运行时、新的类库类型以及新的诊断工具,从而增强了对并行编程的支持。 这些功能简化了并行开发,使您能够通过固有方法编写高效、细化且可伸缩的并行代码,而不必直接处理线程或线程池。 下图从较高层面上概述了 .NET Framework 4 中的并行编程体系结构。

.NET 并行编程体系结构

相关主题

技术

说明

任务并行库

提供针对 System.Threading.Tasks.Parallel 类的文档(包括 ForForEach 循环的并行版本),还提供了针对 System.Threading.Tasks.Task 类的文档(描绘了表示异步操作的首选方式)。

并行 LINQ (PLINQ)

LINQ to Objects 的并行实现,该实现显著提高了许多情况下的性能。

用于并行编程的数据结构

提供一些链接,这些链接指向有关线程安全集合类、轻量同步类型以及延迟初始化类型的文档。

并行诊断工具

提供一些链接,这些链接指向有关 Visual Studio 任务和并行堆栈调试器窗口以及并发可视化工具的文档,其中包含 Visual Studio Application Lifecycle Management 探查器中的一组视图,您可以使用这些视图来调试和调整并行代码的性能。

PLINQ 和 TPL 的自定义分区程序

描述分区程序的工作方式,以及如何配置默认分区程序或创建新的分区程序。

任务工厂

描述 System.Threading.Tasks.TaskFactory 类的作用。

任务计划程序

描述计划程序的工作方式,以及如何配置默认计划程序。

在 PLINQ 和 TPL 中的 Lambda 表达式

简要概述 C# 和 Visual Basic 中的 lambda 表达式,并演示如何在 PLINQ 和任务并行库中使用这些表达式。

其他阅读材料(并行编程)

提供一些链接,这些链接指向其他文档以及在 .NET Framework 中进行并行编程的示例资源。

.NET Framework 高级开发

高级主题(例如线程处理和并行编程)的顶级节点。

请参见

其他资源

Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4(并行编程模式:了解并使用 .NET Framework 4 应用并行模式)