.NET Framework 中的并行编程

来源:百度文库 编辑:神马文学网 时间:2024/04/28 18:24:36

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

相关主题

技术

说明

任务并行库

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

并行 LINQ (PLINQ)

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

用于并行编程的数据结构

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

并行诊断工具

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

PLINQ 和 TPL 的自定义分区程序

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

任务工厂

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

任务计划程序

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

在 PLINQ 和 TPL 中的 Lambda 表达式

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

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

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

.NET Framework 高级开发

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