许多个人计算机和工作站都有两个或四个内核(即 CPU),使多个线程能够同时执行。 在不久的将来,计算机预期会有更多的内核。 为了利用当今和未来的硬件,您可以对代码进行并行化,以将工作分摊在多个处理器上。 过去,并行化需要线程和锁的低级操作。 Visual Studio 2010 和 .NET Framework 4 提供了新的运行时、新的类库类型以及新的诊断工具,从而增强了对并行编程的支持。 这些功能简化了并行开发,使您能够通过固有方法编写高效、细化且可伸缩的并行代码,而不必直接处理线程或线程池。 下图从较高层面上概述了 .NET Framework 4 中的并行编程体系结构。
![.NET 并行编程体系结构 .NET 并行编程体系结构](http://i.msdn.microsoft.com/dynimg/IC387462.png)
技术 | 说明 |
---|---|
提供针对 System.Threading.Tasks.Parallel 类的文档(包括 For 和 ForEach 循环的并行版本),还提供了针对 System.Threading.Tasks.Task 类的文档(描绘了表示异步操作的首选方式)。 | |
LINQ to Objects 的并行实现,该实现显著提高了许多情况下的性能。 | |
提供一些链接,这些链接指向有关线程安全集合类、轻量同步类型以及延迟初始化类型的文档。 | |
提供一些链接,这些链接指向有关 Visual Studio 任务和并行堆栈调试器窗口以及并发可视化工具的文档,其中包含 Visual Studio Application Lifecycle Management 探查器中的一组视图,您可以使用这些视图来调试和调整并行代码的性能。 | |
描述分区程序的工作方式,以及如何配置默认分区程序或创建新的分区程序。 | |
描述 System.Threading.Tasks.TaskFactory 类的作用。 | |
描述计划程序的工作方式,以及如何配置默认计划程序。 | |
简要概述 C# 和 Visual Basic 中的 lambda 表达式,并演示如何在 PLINQ 和任务并行库中使用这些表达式。 | |
提供一些链接,这些链接指向其他文档以及在 .NET Framework 中进行并行编程的示例资源。 | |
高级主题(例如线程处理和并行编程)的顶级节点。 |