如果你希望通过并发编程来充分发挥多核处理器的强大功能,那么本书将为你提供所需的理论知识和实际经验。《并发的艺术》是为数不多的几本介绍如何在多核处理器的共享内存模型中实现算法的书籍之一,它并非仅仅介绍一些理论模型或者分布式内存架构。本书详细分析了各种示例程序,这些内容非常有助于你将串行代码转换为并行代码,此外还介绍了如何避免一些常见的错误。
本书的作者是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 再接再厉
术语表
封面说明
《理性的设计感性的空间:法国DBLANT都林国际设计》贯穿了30余篇设计师的文章,对设计机构的发展模式、设计项目的管理及设计过程中
《信天而游》内容简介:一个八零后台湾女孩,只身前往陕北的农村,在窑洞一待就是三年。她和当地招待他的房东农民老蒋一起种庄稼,
《Project 2016项目管理自学经典》内容简介:本书以案例为主,由浅入深、图文并茂地介绍了Project 2016项目管理的基础知识和应用技
《Abaqus GUI程序开发指南:Python语言》内容简介:本书共6章,主要讲解采用Python语言对Abaqus进行图形界面程序的开发,包括GUI插
《中国神话密码》内容简介:本书通过五个方面梳理中国神话体系:《山海经》探秘、上古时代的神界领袖、日常生活中的诸神、动植物与
如果你对万事万物的运行方式充满好奇,这本有趣的《R和Ruby数据分析之旅》会帮你找到日常生活中某些问题的真正答案。借助基本的数
《唐诗三百首》内容简介:传统中国文学的精粹何在?在诗 传统中国诗歌的精粹何在?在唐诗 基于清人蘅塘退士经典选本全新修订,典藏
《所思不远》内容简介:本书为知·趣丛书之一种。作者选取朱彝尊、陈维崧、纳兰容若、王昙、金礼赢、黄仲则、龚自珍、谭嗣同、吴保
数据库系统简明教程 本书特色 《数据库系统简明教程》是由王珊所编著,高等教育出版社出版发行的。数据库系统简明教程 内容简介 本书系统地阐述了数据库系统的基础理论...
远程接入网络疑难解析 本书特色 本书适用面向日常工作需要的网络管理者或者管理员、网络或咨询工程师以及远程接入咨询师。同时本书适合为希望获得CCNP和CCIE证书...
《华为逻辑》内容简介:本书从任正非的创业故事和商业理念入手,全面展示了华为在三十多年见经历的的管理变革与创新,同时对其管理
现代“小型机之父”戈登·贝尔和微软研究院研究员吉姆·戈梅尔通过“我的数字生活”(MyLifeBits)项目,带领我们进行了一场关于
叶伟,阿里软件研发中心总监.曾先后就职于金仕达卫宁.IBM.金蝶,在HIS.ERP.SaaS领域领导开发了多个大型成功产品.复旦大学计算机科学
《世界现代化历程·总论卷》内容简介:本书是我社出版的、由钱乘旦教授主编的《世界现代化历程》10卷本的精装本套书版,包括总论卷
Thedreamofautomaticlanguagetranslationisnowcloserthankstorecentadvancesinthetech...
《凡世与神界》内容简介:从“日月崇拜”“四方四神”“动物有灵”“权力信仰”“祖先崇拜”“造神运动”六个角度,环绕日月、天地
本书理论与实践结合,全面、深入地分析了家用路由器的安全漏洞,包括Web应用漏洞、栈溢出漏洞等,并辅以大量案例进行了翔实的分析
《简洁的力量》内容简介:我们是否思考过这样一个问题:创新是要让我们的世界变得更加科技化还是人性化?如果说是为了科技化,那我
内容简介:MongoDB是为处理大数据而生的一款面向文档的数据库,由10gen公司开发和维护。本书作者KyleBanker曾在该公司负责MongoD
智能图像检索关键技术研究 本书特色 《智能图像检索关键技术研究》是毛金莲老师多年从事多媒体信息检索研究工作的系统性总结,包含了她对当前国际、国内在智能图像检索关...