电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

本书结合大量的项目实践,介绍了与并行编程相关的概念、方法和应用。本书共7章:第1章主要介绍并行编程的基本概念与并行计算的基础理论,第2章主要介绍并行循环的知识,第3章介绍并行任务处理,第4章阐述并行合并计算的机理,第5章介绍future模式,第6章在前文的基础上深入探讨动态并行任务机制,第7章介绍并行编程的流水线机制。 本书适用于在.NET Framework上编写托管代码的程序员,包括在Visual C#、Visual Basic以及Visual F#上编写代码的程序员。本书不假定读者具有并行编程技术的预备知识。不过,读者需要熟悉C#的特征,如委托、lambda表达式、泛型以及语言集成查询(LINQ)表达式等。读者还至少应该对进程和线程的概念有基本的了解。

前 言   本书描述了并行程序设计中需要用到的模式,它们使用Microsoft .NET Framework 4中新加入的并行编程功能来进行并行设计,这种功能通常被称为并行扩展。你可以使用本书中的模式提高应用程序在多核计算机上的性能。在代码中使用这些模式能够使它们在现有机器上运行得更快,并且有助于适应将来的硬件环境——据预计,它们将融入越来越多的并行计算架构。 本书适合的读者   本书针对的读者对象是在Windows操作系统上利用.NET Framework编写托管代码的程序员。这包括在Visual C#、Visual Basic以及Visual F#上编写代码的程序员。本书不假定读者事先已了解并行编程技术。不过,读者需要熟悉C#的特征,如委托、lambda表达式、泛型以及语言集成查询(LINQ)表达式等。读者还应该大致了解进程和线程的概念。   请注意:本书中的示例是用C#写的,并且使用了.NET Framework 4中的特性,包括任务并行库(TPL)和并行LINQ(PLINQ)。不过,也可以将本书中呈现的概念应用到其他框架和库以及其他语言中。   完整的代码解决方案已经发布在CodePlex上,请参见http://parallelpatterns.codeplex.com/。每个示例都有一个C#版本。除此之外,还有Visual Basic版本和F#版本。 为何在此时写作本书   Visual Studio 2010开发系统实现了先进的并行编程功能,这使得并行程序设计的入门比以往任何时候都更加容易。   任务并行库(TPL)是为想要编写并行程序的....

目录
荐语
查看详情 查看详情
目    录

第1章  导论 1

1.1  潜在并行性的重要性 2

1.2  分解、协调和可扩展共享 3

1.2.1  了解任务 4

1.2.2  协调任务 5

1.2.3  数据的可扩展共享 5

1.2.4  设计方法 6

1.3  选择恰当的模式 7

1.4  关于术语 8

1.5  并行性的极限 9

1.6  一些技巧 11

1.7  练习 12

1.8  扩展阅读 12

第2章  并行循环 15

2.1  基础知识 16

2.1.1  并行for循环 16

2.1.2  并行ForEach循环 17

2.1.3  并行LINQ(PLINQ) 18

2.1.4  预期 19

2.2  示例 21

2.2.1  信贷审查的顺序版本示例 22

2.2.2  使用Parallel.ForEach的信贷审查示例 23

2.2.3  PLINQ信贷审查示例 23

2.2.4  性能比较 24

2.3  变化形式 24

2.3.1  尽早中断循环 25

2.3.2  外部循环取消 29

2.3.3  异常处理 30

2.3.4  小循环体的特殊处理 31

2.3.5  控制并行度 33

2.3.6  在循环体中使用局部任务状态 35

2.3.7  对并行循环使用自定义的任务调度程序 36

2.4  反模式 37

2.4.1  步长不为一 37

2.4.2  隐藏的循环体依赖 38

2.4.3  少量迭代的小循环体 38

2.4.4  处理器的超额申请和申请不足 38

2.4.5  混合Parallel类和PL... 查看详情

查看详情