C#并行编程高级教程 精通.NET 4 Parallel ExtensionsPDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)希拉里著
- 出 版 社:北京:清华大学出版社
- 出版年份:2012
- ISBN:9787302273561
- 页数:487 页
第1章 基于任务的程序设计 1
1.1使用共享内存的多核系统 2
1.1.1共享内存多核系统与分布式内存系统之间的区别 3
1.1.2并行程序设计和多核程序设计 4
1.2理解硬件线程和软件线程 5
1.3理解Amdahl法则 8
1.4考虑Gustafson法则 11
1.5使用轻量级并发模型 14
1.6创建成功的基于任务的设计 15
1.6.1以并发的思想指导设计 16
1.6.2理解交错并发、并发和并行之间的区别 17
1.6.3并行化任务 18
1.6.4尽量减少临界区 18
1.6.5理解多核并行程序的设计原则 19
1.7为NUMA架构和更高的可扩展性做好准备 20
1.8判断是否适合并行化 24
1.9小结 25
第2章 命令式数据并行 27
2.1加载并行任务 27
2.1.1 System.Threading.Tasks.Parallel类 29
2.1.2 Parallel.Invoke 30
2.2将串行代码转换为并行代码 37
2.2.1检测可并行化的热点 37
2.2.2测量并行执行的加速效果 40
2.2.3理解并发执行 42
2.3循环并行化 43
2.3.1 Parallel.For 43
2.3.2 Parallel.ForEach 49
2.3.3从并行循环中退出 56
2.4指定并行度 62
2.4.1 ParallelOptions 63
2.4.2计算硬件线程 65
2.4.3逻辑内核并不是物理内核 66
2.5通过甘特图检测临界区 67
2.6小结 68
第3章 命令式任务并行 69
3.1创建和管理任务 70
3.1.1 System.Threading.Tasks. Task 71
3.1.2理解Task状态和生命周期 72
3.1.3通过使用任务来对代码进行并行化 74
3.1.4等待任务完成 80
3.1.5忘记复杂的线程 81
3.1.6通过取消标记取消任务 82
3.1.7从任务返回值 88
3.1.8 TaskCreationOptions 90
3.1.9通过延续串联多个任务 90
3.1.10编写适应并发和并行的代码 95
3.2小结 96
第4章 并发集合 97
4.1理解并发集合提供的功能 98
4.1.1 System.CollectionsConcurrent 100
4.1.2 ConcurrentQueue 101
4.1.3理解并行的生产者… 消费者模式 104
4.1.4 ConcurrentStack 116
4.1.5将使用数组和不安全集合的代码转换为使用并发集合的代码 121
4.1.6 ConcurrentBag 122
4.1.7 IProducerConsumerCollection 129
4.1.8 BlockingCollection 129
4.1.9 ConcurrentDictiona 143
4.2小结 147
第5章 协调数据结构 149
5.1通过汽车和车道理解并发难题 150
5.1.1非预期的副作用 150
5.1.2竞争条件 151
5.1.3死锁 152
5.1.4使用原子操作的无锁算法 153
5.1.5使用本地存储的无锁算法 154
5.2理解新的同步机制 156
5.3使用同步原语 157
5.3.1通过屏障同步并发任务 158
5.3.2屏障和ContinueWhenAll 164
5.3.3在所有的参与者任务中捕捉异常 165
5.3.4使用超时 166
5.3.5使用动态数目的参与者 171
5.4使用互斥锁 172
5.4.1使用Monitor 176
5.4.2使用锁超时 177
5.4.3将代码重构为避免使用锁 180
5.5将自旋锁用作互斥锁原语 183
5.5.1使用超时 186
5.5.2使用基于自旋的等待 187
5.5.3自旋和处理器出让 190
5.5.4使用volatile修饰符 193
5.6使用轻量级的手动重置事件 194
5.6.1使用ManualResetEventSlim进行自旋和等待 194
5.6.2使用超时和取消 199
5.6.3使用ManualResetEvent 203
5.7限制资源的并发访问 204
5.7.1使用SemaphoreSlim 205
5.7.2使用超时和取消 209
5.7.3使用Semaphore 209
5.8通过CountdownEvent简化动态fork和join场景 211
5.9使用原子操作 215
5.10小结 220
第6章PLNQ:声明式数据并行 221
6.1从LINQ转换到PLINQ 222
6.1.1 ParallelEnumerable及其AsParallel方法 224
6.1.2 AsOrdered和orderby子句 225
6.2指定执行模式 228
6.3理解PLINQ中的数据分区 229
6.4通过PLINQ执行归约操作 234
6.5创建自定义的PLINQ聚合函数 235
6.6并发PLINQ任务 240
6.7取消PLINQ 243
6.8指定所需的并行度 245
6.8.1 WithDegreeOfParallelism 245
6.8.2测量可扩展性 247
6.9使用ForAll 249
6.9.1 foreach和ForAll的区别 250
6.9.2测量可扩展性 251
6.10通过WithMergeOptions配置返回结果的方式 253
6.11处理PLINQ抛出的异常 255
6.12使用PLINQ执行MapReduce 算法 257
6.13使用PLINQ设计串行多步操作 259
6.14小结 261
第7章Visual Studio 2010的任务调试能力 263
7.1充分利用多显示器的支持 264
7.2理解并行任务调试器窗口 267
7.3查看Parallel Stacks图 273
7.4跟踪并发代码 280
7.4.1调试匿名方法 288
7.4.2查看方法 290
7.4.3在源代码中查看线程 292
7.5检测死锁 294
7.6小结 300
第8章 线程池 301
8.1探究任务的底层技术 301
8.2理解新的CLR 4线程池引擎 303
8.2.1理解全局队列 303
8.2.2等待工作线程完成工作 313
8.2.3跟踪动态数目的工作线程 319
8.2.4使用任务(而不是线程)将作业加入队列 323
8.2.5理解任务和线程池之间的关系 326
8.2.6理解局部队列和工作窃取算法 330
8.2.7指定自定义的任务调度器 335
8.3小结 340
第9章 异步编程模型 341
9.1结合使用异步编程和任务 342
9.1.1使用TaskFactory.FromAsync 343
9.1.2编写异步方法执行结束之后的延续 348
9.1.3合并多个并发异步操作的结果 349
9.1.4执行异步WPF UI更新 351
9.1.5执行异步Windows Forms UI更新 358
9.1.6创建执行EAP操作的任务 365
9.1.7使用TaskCompletionSource 373
9.2小结 377
第10章 并行测试和调优 379
10.1准备并行测试 379
10.1.1使用性能剖析功能 383
10.1.2测量并发性 385
10.2常见问题模式的解决方案 394
10.2.1串行化的执行 395
10.2.2锁争用 397
10.2.3锁封护 398
10.2.4申请超额 401
10.2.5申请不足 404
10.2.6分区问题 406
10.2.7工作站垃圾回收开销 408
10.2.8使用服务器垃圾回收 411
10.2.9 I/O瓶颈 412
10.2.10主线程过载 413
10.3理解伪共享 416
10.4小结 419
第11章 向量化、SIMD指令以及其他并行库 421
11.1理解SIMD和向量化 421
11.2从MMX到SSE4.X和AVX 423
11.3使用Intel Math KernelLibrary 425
11.3.1使用适用于多核的高度优化的软件函数 433
11.3.2将基于任务的编程和外部优化的库混合使用 434
11.3.3并行生成伪随机数 434
11.4使用Intel IntegratedPerformance Primitives 439
11.5小结 445
附录A.NET4中与并行相关的类图 447
附录B并发UML模型 461
附录C Parallel Extensions Extras 469
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《雅马哈管乐队训练教程 降E调单簧管 分谱》Japan Band Clinic委员会 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019