如果你希望通过并发编程来充分发挥多核处理器的强大功能,那么本书将为你提供所需的理论知识和实际经验。《并发的艺术》是为数不多的几本介绍如何在多核处理器的共享内存模型中实现算法的书籍之一,它并非仅仅介绍一些理论模型或者分布式内存架构。本书详细分析了各种示例程序,这些内容非常有助于你将串行代码转换为并行代码,此外还介绍了如何避免一些常见的错误。
本书的作者是Intel公司的一位资深工程师,他从事并发编程已经有20多年的时间,本书将帮助你:
- 分析在共享内存模型与在分布式内存模型之间的编程差异。
- 学习如何设计多线程程序,包括对程序的测试和调优。
- 了解如何最有效地使用各种不同的线程化机制,包括Windows线程,POSIX线程,OpenMP以及Intel Threading Building Blocks。
- 掌握如何实现各种并发算法,包括排序,搜索,图以及其他一些使用的计算。
《并发的艺术》还介绍了如何在算法中实现高可伸缩性,使得算法能够充分发挥将来包含更多核处理器的强大功能。对于开发并行代码算法的程序员来说,本书是必不可少的。
译者序
前言
第1章 并行让程序运行得更快
1.1 你可能会想到的一些问题
1.2 采用线程化方法的4个步骤
1.3 并行算法的背景知识
1.4 共享内存编程与分布式内存编程的比较
1.5 本书采用的并发编程方法
第2章 是否采用并发
2.1 并发算法的设计模型
2.2 哪些算法不能并行
第3章 算法正确性证明与性能衡量
3.1 并行算法的验证
3.2 示例:临界区问题
3.3 性能测试(程序的执行情况如何)
3.4 硬件并行性的发展历史
第4章 多线程程序设计中的8条简单原则
4.1 规则1:找出真正独立的运算
4.2 规则2:在尽可能高的层次上实现并发
4.3 规则3:尽早考虑通过增加处理器核的数量来获得可伸缩性
4.4 规则4:尽可能使用线程安全的库
4.5 规则5:使用正确的多线程模型
4.6 规则6:永远不要假设程序会按照某种特定的顺序执行
4.7 规则7:尽可能使用线程局部存储或者与特定数据相关的锁
4.8 规则8:要敢于对代码进行修改以获得更好的并发性
第5章 线程化库
5.1 隐式线程化
5.2 显式线程化
5.3 还剩下哪些内容没有介绍
5.4 特定领域的库
第6章 并行求和与前缀求和
6.1 并行求和
6.2 前缀求和
6.3 选择
6.4 最后的思考
第7章 映射归约
7.1 并发映射运算
7.2 并发归约运算
7.3 映射归约的应用
7.4 将映射归约作为一般性并发
第8章 排序
8.1 冒泡排序
8.2 奇偶换位排序
8.3 希尔排序
8.4 快速排序
8.5 基数排序
第9章 搜索
9.1 未排序的数据序列
9.2 二分搜索
第10章 图算法
10.1 深度优先搜索
10.2 最短路径问题
10.3 最小生成树
第11章 线程化工具
11.1 调试器
11.2 性能工具
11.3 还剩下什么内容没有介绍
11.4 再接再厉
术语表
封面说明
禅是一种生活态度和生活方式。程序员是一份特别辛苦的职业,也是一个承受各种压力的群体。在物欲横流的今天,禅对于程序员有着特
《东游西荡》内容简介:本书是新锐作家大头马的非典型旅行文学作品,是一本游荡世界的私人笔记。大头马用保罗·索鲁式的吐槽和碎碎
Thebook,writteninthestyleofTheLittleSchemer,introducesinstructors,students,andpr...
《郁达夫游记》内容简介:本书汇编郁达夫的游记、风景散文近四十篇。这些作品,写山水名胜、描景色风物,既有丰富的地理、历史、自
《TKT剑桥英语教学能力认证考试全真模拟试题(2020年版)》内容简介:本书是TKT剑桥英语教学能力认证考试的专用辅导用书,从考试内
《进阶理解版式设计(附盘)》装帧精美,附赠1CD和可撕式字体卡。内容可操作性强,理论扎实,案例新颖。后勒口可以撕下来,增加了读
LearnhowtocreategorgeousandexpressiveimagerywiththeProcessinggraphicslanguageand...
《普通高等教育十一五国家级规划教材•模拟电子电路及技术基础》分两篇,共11章。第一篇(一~三章)以系统应用为出发点,介绍放大器
VisualBasic程序设计教程 本书特色 本书特色:与本书配套的《visual basic程序设计教程题解与上机指导》(第四版)已出版。电子教案及例题程序代...
《一目了然Web软件显性设计之路》通过深入浅出地讲解与丰富的实际案例,帮助读者理解、掌握显性设计的精髓,可轻松熟练地设计出简
《无线网络射频工程硬件天线和电波传播》围绕无线网络中的射频工程这一重要问题展开,主要介绍三个方面:硬件、天线和电波传播。
《iOS开发进阶》分工具、实践、理论三大部分。第一部分介绍iOS开发的常用工具,第二部分介绍iOS开发中的一些常见的实践经验,第三
《经济法》内容简介:本书以最新版全国会计专业技术资格统一考试大纲为依据,面向“经济法”科目,通过大量真题的分析与研究,引导
TheinternationalsuccessstoryofAntwerpfashionTheSix(WalterVanBeirendonck,AnnDemeu...
编写安全的代码(第二版),ISBN:9787111112105,作者:(美)MichaelHoward,(美)DavidLeBlanc著;程永敬[等]译;程永敬...
《春秋:五霸迭兴》内容简介:本书在尊重史实的基础上,以诙谐、通俗的语言,描述了春秋近三百年间的历史演变。五霸的起落兴衰,诸
如果你希望成为一名职业室内设计师,本书将成为你最能受益的实用手册。其中包含的大量参考信息将带给你对这份职业的无限热情和激
《把你的草稿钉在墙上》是在美国华盛顿大学视觉传达专业学习的中国学生刘兰兰,对于其专业学习的笔记、总结和感受,深入记录了她
你有可能随时都能找到你想要找的,但这也意味着你随时会被想找你的人找到—用起来很爽却又有一点危险,位置服务就是如此。而绝大多
计算机基础及Photoshop应用-全国计算机等级考试一级教程-(2017年版) 本书特色 《全国计算机等级考试一级教程——计算机基础及...