第1章 并行编程初探
多核计算
多指令流/多数据流
多线程
同步
加速
阿姆德尔定律
占斯塔夫森定律
软件模式
查找并发模式
算法结构模式
支撑结构模式
小结
快速参考
第2章 任务并行
并行任务入门
线程
Task类
使用函数委托
任务中的未处理异常
排序例子
冒泡排序
插入排序
支点排序
使用Barrier类
重构支点排序算法
取消
任务之间的关系
连续任务
父任务和子任务
工作窃取队列
小结
快速参考
第3章 数据并行
将顺序循环展开成并行任务
评估性能的考虑
并行的for循环
中断循环
处理异常
处理依赖关系
化简
使用MapReduce模式一个单词计数的例子
小结
快速参考
第4章 PLINQ简介
LINQ简介
PLINo
PLINQ运算符和方法
ForAll运算符
ParallelExecutionMode
WithMergeOptions
AsSequential
AsOrdered
WithDegreeOfParallelism
处理异常
取消
化简
使用MapReduce和PLINQ
小结
快速参考
第5章 并发集合
并发集合的概念
制造者-使用者
较低级别的同步
SpinLock结构
SpinWait结构
两阶段同步
ConcurrentStack
ConcurrentQueue
ConcurrentBag
ConcurrentDictionary
BlockingCollection
小结
快速参考
第6章 自定义
确定自定义机会
自定义制造者-使用者集合
任务分区
高级自定义分区
使用Partitioner
使用OrderablePartitioner类
自定义调度程序
上下文调度程序
任务调度程序
小结
快速参考
第7章 报告和调试
使用Visual Studio 2010进行调试
现场调试
执行事后分析
调试线程
使用“并行任务”窗口
使用“并行堆栈”窗口
“线程”视图
“任务”视图
使用并发可视化工具
“CPU使用率”视图
“线程”视图
“内核”视图
示例应用程序
小结
快速参考