并行编程

并行编程
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2023-05
版次: 1
ISBN: 9787302627852
定价: 79.00
装帧: 其他
开本: 16开
纸张: 胶版纸
  • 本书对并行编程过程中的相关基本概念、原理、技术、方法进行详细讲解,以时下流行的Java语言为基础,主要针对基于共享内存的并行编程方法,内容涉及并行编程基本概念、线程创建和管理、同步和异步编程、线程协作、自定义并发类等内容。本书在讲解相关原理和技术的同时,使用大量实例进行演示,力求做到知识点明白透彻。
      本书内容先进、结构合理、讲解详尽、例题丰富,适合作为高等院校本科生和研究生的教材,是高等院校师生和IT领域在职人员学习并行编程技术的理想教材和工具书,也可作为高性能计算技术人员的自修参考用书。 第1章绪论1

    1.1概述1

    1.2并发与并行2

    1.2.1并发2

    1.2.2并行3

    1.3Flynn分类4

    1.4并行编程模型4

    1.4.1多线程并行模型4

    1.4.2共享内存并行模型5

    1.4.3分布式并行模型6

    1.4.4混合并行编程模型7

    1.4.5数据并行模型7

    1.5并行程序设计方法8

    1.5.1分治8

    1.5.2流水线9

    1.5.3消息传递10

    1.6加速比10

    1.6.1阿姆达尔定律10

    1.6.2高斯特凡定律11

    1.7并行程序评判标准11

    1.8Java并行13

    1.8.1并行特性13

    1.8.2内存模型14

    1.9程序运行说明15

    习题17

    第2章线程18

    2.1基本概念18

    2.1.1进程与线程18

    2.1.2超线程18

    2.2线程的创建19

    2.2.1不带返回值的线程——从Thread类继承19

    2.2.2不带返回值的线程——实现Runnable接口22

    2.2.3带返回值的线程——实现Callable接口24

    2.2.4简化线程创建代码25

    2.3线程的属性28

    2.3.1线程标识符28

    2.3.2线程名30

    2.3.3线程状态34

    2.3.4优先级37

    习题41

    并行编程目录第3章线程的管理42

    3.1线程数目的确定42

    3.2线程运行的控制43

    3.2.1等待线程执行完毕43

    3.2.2休眠47

    3.2.3中断48

    3.2.4让出CPU的使用权50

    3.3守护线程52

    3.4线程分组55

    3.5线程本地化58

    3.6线程开销问题60

    习题62

    第4章锁63

    4.1概述63

    4.2基本概念63

    4.2.1数据竞争63

    4.2.2线程安全64

    4.2.3临界区65

    4.2.4监视器65

    4.3为什么使用同步控制66

    4.4同步锁68

    4.4.1同步方法68

    4.4.2同步块70

    4.5可重入锁72

    4.6读写锁80

    4.7邮戳锁87

    4.8锁的缺点94

    4.8.1锁竞争94

    4.8.2优先权反转95

    4.8.3死锁95

    4.8.4活锁98

    4.9本章小结100

    习题101

    第5章原子操作102

    5.1原子性102

    5.2基本类型的原子操作103

    5.3引用类型的原子操作106

    5.4ABA问题108

    5.5扩展的原子引用类型111

    5.5.1类AtomicMarkableReference111

    5.5.2类AtomicStampedReference114

    5.6原子操作数组类117

    5.7volatile关键字122

    5.7.1可见性122

    5.7.2原子性122

    5.7.3指令重排122

    5.8本章小结123

    习题124

    第6章异步模式125

    6.1基本概念125

    6.1.1同步和异步125

    6.1.2阻塞和非阻塞125

    6.1.3回调126

    6.1.4I/O密集型任务和计算密集型任务126

    6.2接口Future126

    6.3类FutureTask127

    6.4类CompletableFuture133

    6.4.1类的定义133

    6.4.2创建对象133

    6.4.3获取返回值134

    6.4.4执行模型135

    6.4.5多个异步任务处理144

    6.4.6使用回调函数147

    6.4.7综合应用实例152

    6.5本章小结155

    习题156

    第7章线程协作157

    7.1通过共享变量进行协作157

    7.2等待集合160

    7.3等待与通知160

    7.4条件变量168

    7.5交换器174

    习题178

    第8章线程障栅179

    8.1概述179

    8.2循环障栅179

    8.3倒计时门闩184

    8.4信号量188

    8.5阶段193

    习题201

    第9章线程池管理202

    9.1线程池202

    9.1.1为什么使用线程池202

    9.1.2相关接口和类202

    9.1.3应用举例207

    9.2固定数目的线程池209

    9.3延迟执行、周期性执行的执行器214

    9.4取消任务的执行219

    9.5任务装载和结果处理的分离220

    9.6管理被拒绝的任务223

    习题225

    第10章并行模式Fork/Join226

    10.1基本概念226

    10.1.1任务划分226

    10.1.2负载均衡227

    10.1.3工作窃取227

    10.2Fork/Join框架的编程模式228

    10.3线程池ForkJoinPool229

    10.3.1创建ForkJoinPool对象229

    10.3.2使用ForkJoinPool230

    10.4任务ForkJoinTask231

    10.4.1从类RecursiveAction继承创建任务232

    10.4.2从类RecursiveTask继承创建任务238

    10.4.3任务的运行方式242

    10.4.4任务的取消245

    10.5本章小结247

    习题248

    第11章线程安全的集合249

    11.1线程安全的哈希表249

    11.1.1类ConcurrentHashMap249

    11.1.2类HashTable252

    11.1.3方法Collections.synchronizedMap253

    11.2线程安全的双端队列253

    11.3线程安全的跳表257

    11.4同步队列259

    11.5随机数产生262

    11.6并行流264

    11.6.1函数式接口Predicate264

    11.6.2流的创建265

    11.6.3流的操作266

    习题268

    第12章定制并行类269

    12.1定制同步类269

    12.1.1定制锁269

    12.1.2定制原子操作272

    12.2定制线程工厂275

    12.3定制线程池277

    12.4定制线程执行器279

    12.5定制周期性任务281

    12.6定制与Fork/Join框架相关的并发类285

    12.6.1类ForkJoinWorkerThread285

    12.6.2接口ForkJoinPool.ForkJoinWorkerThreadFactory285

    12.6.3自定义Fork/Join框架中的线程285

    12.6.4自定义任务288

    习题291

    第13章并行程序设计实例292

    13.1桶排序及其并行化292

    13.1.1桶排序过程292

    13.1.2并行化292

    13.2奇偶排序及其并行化297

    13.2.1奇偶排序算法的过程297

    13.2.2并行化300

    13.3加密/解密算法及其并行化306

    13.3.1加密/解密过程及相关代码306

    13.3.2并行化314
  • 内容简介:
    本书对并行编程过程中的相关基本概念、原理、技术、方法进行详细讲解,以时下流行的Java语言为基础,主要针对基于共享内存的并行编程方法,内容涉及并行编程基本概念、线程创建和管理、同步和异步编程、线程协作、自定义并发类等内容。本书在讲解相关原理和技术的同时,使用大量实例进行演示,力求做到知识点明白透彻。
      本书内容先进、结构合理、讲解详尽、例题丰富,适合作为高等院校本科生和研究生的教材,是高等院校师生和IT领域在职人员学习并行编程技术的理想教材和工具书,也可作为高性能计算技术人员的自修参考用书。
  • 目录:
    第1章绪论1

    1.1概述1

    1.2并发与并行2

    1.2.1并发2

    1.2.2并行3

    1.3Flynn分类4

    1.4并行编程模型4

    1.4.1多线程并行模型4

    1.4.2共享内存并行模型5

    1.4.3分布式并行模型6

    1.4.4混合并行编程模型7

    1.4.5数据并行模型7

    1.5并行程序设计方法8

    1.5.1分治8

    1.5.2流水线9

    1.5.3消息传递10

    1.6加速比10

    1.6.1阿姆达尔定律10

    1.6.2高斯特凡定律11

    1.7并行程序评判标准11

    1.8Java并行13

    1.8.1并行特性13

    1.8.2内存模型14

    1.9程序运行说明15

    习题17

    第2章线程18

    2.1基本概念18

    2.1.1进程与线程18

    2.1.2超线程18

    2.2线程的创建19

    2.2.1不带返回值的线程——从Thread类继承19

    2.2.2不带返回值的线程——实现Runnable接口22

    2.2.3带返回值的线程——实现Callable接口24

    2.2.4简化线程创建代码25

    2.3线程的属性28

    2.3.1线程标识符28

    2.3.2线程名30

    2.3.3线程状态34

    2.3.4优先级37

    习题41

    并行编程目录第3章线程的管理42

    3.1线程数目的确定42

    3.2线程运行的控制43

    3.2.1等待线程执行完毕43

    3.2.2休眠47

    3.2.3中断48

    3.2.4让出CPU的使用权50

    3.3守护线程52

    3.4线程分组55

    3.5线程本地化58

    3.6线程开销问题60

    习题62

    第4章锁63

    4.1概述63

    4.2基本概念63

    4.2.1数据竞争63

    4.2.2线程安全64

    4.2.3临界区65

    4.2.4监视器65

    4.3为什么使用同步控制66

    4.4同步锁68

    4.4.1同步方法68

    4.4.2同步块70

    4.5可重入锁72

    4.6读写锁80

    4.7邮戳锁87

    4.8锁的缺点94

    4.8.1锁竞争94

    4.8.2优先权反转95

    4.8.3死锁95

    4.8.4活锁98

    4.9本章小结100

    习题101

    第5章原子操作102

    5.1原子性102

    5.2基本类型的原子操作103

    5.3引用类型的原子操作106

    5.4ABA问题108

    5.5扩展的原子引用类型111

    5.5.1类AtomicMarkableReference111

    5.5.2类AtomicStampedReference114

    5.6原子操作数组类117

    5.7volatile关键字122

    5.7.1可见性122

    5.7.2原子性122

    5.7.3指令重排122

    5.8本章小结123

    习题124

    第6章异步模式125

    6.1基本概念125

    6.1.1同步和异步125

    6.1.2阻塞和非阻塞125

    6.1.3回调126

    6.1.4I/O密集型任务和计算密集型任务126

    6.2接口Future126

    6.3类FutureTask127

    6.4类CompletableFuture133

    6.4.1类的定义133

    6.4.2创建对象133

    6.4.3获取返回值134

    6.4.4执行模型135

    6.4.5多个异步任务处理144

    6.4.6使用回调函数147

    6.4.7综合应用实例152

    6.5本章小结155

    习题156

    第7章线程协作157

    7.1通过共享变量进行协作157

    7.2等待集合160

    7.3等待与通知160

    7.4条件变量168

    7.5交换器174

    习题178

    第8章线程障栅179

    8.1概述179

    8.2循环障栅179

    8.3倒计时门闩184

    8.4信号量188

    8.5阶段193

    习题201

    第9章线程池管理202

    9.1线程池202

    9.1.1为什么使用线程池202

    9.1.2相关接口和类202

    9.1.3应用举例207

    9.2固定数目的线程池209

    9.3延迟执行、周期性执行的执行器214

    9.4取消任务的执行219

    9.5任务装载和结果处理的分离220

    9.6管理被拒绝的任务223

    习题225

    第10章并行模式Fork/Join226

    10.1基本概念226

    10.1.1任务划分226

    10.1.2负载均衡227

    10.1.3工作窃取227

    10.2Fork/Join框架的编程模式228

    10.3线程池ForkJoinPool229

    10.3.1创建ForkJoinPool对象229

    10.3.2使用ForkJoinPool230

    10.4任务ForkJoinTask231

    10.4.1从类RecursiveAction继承创建任务232

    10.4.2从类RecursiveTask继承创建任务238

    10.4.3任务的运行方式242

    10.4.4任务的取消245

    10.5本章小结247

    习题248

    第11章线程安全的集合249

    11.1线程安全的哈希表249

    11.1.1类ConcurrentHashMap249

    11.1.2类HashTable252

    11.1.3方法Collections.synchronizedMap253

    11.2线程安全的双端队列253

    11.3线程安全的跳表257

    11.4同步队列259

    11.5随机数产生262

    11.6并行流264

    11.6.1函数式接口Predicate264

    11.6.2流的创建265

    11.6.3流的操作266

    习题268

    第12章定制并行类269

    12.1定制同步类269

    12.1.1定制锁269

    12.1.2定制原子操作272

    12.2定制线程工厂275

    12.3定制线程池277

    12.4定制线程执行器279

    12.5定制周期性任务281

    12.6定制与Fork/Join框架相关的并发类285

    12.6.1类ForkJoinWorkerThread285

    12.6.2接口ForkJoinPool.ForkJoinWorkerThreadFactory285

    12.6.3自定义Fork/Join框架中的线程285

    12.6.4自定义任务288

    习题291

    第13章并行程序设计实例292

    13.1桶排序及其并行化292

    13.1.1桶排序过程292

    13.1.2并行化292

    13.2奇偶排序及其并行化297

    13.2.1奇偶排序算法的过程297

    13.2.2并行化300

    13.3加密/解密算法及其并行化306

    13.3.1加密/解密过程及相关代码306

    13.3.2并行化314
查看详情
12
相关图书 / 更多
并行编程
并行程序设计:概念与实践
[德]贝蒂尔·施密特(Bertil Schmidt) 著;张常有 、吴长茂、解庆春 译
并行编程
并行计算导论/人工智能与大数据技术丛书
雷向东、雷振阳、龙军 著
并行编程
并行离群数据挖掘及应用
李俊丽 著
并行编程
并行数据挖掘及性能优化:关联规则与数据相关性分析
荀亚玲 著
并行编程
并行编程实战——基于C#8和.NETCore3
[印]沙克蒂·坦沃 著;马琳琳 译
并行编程
并行计算的编程模型
[美]帕万·巴拉吉(Pavan Balaji)
并行编程
并行计算与高性能计算
尤莉安娜·萨莫拉(Yuliana Zamora)著 殷海英 译;[美]罗伯特·罗比(Robert Robey)
并行编程
并行化河流数学模型研发及应用
李健、霍军军 著
并行编程
并行多核体系结构基础
[美]汤孟岩(Yan Solihin)
并行编程
并行计算机体系结构(第2版)
陈国良
并行编程
并行书系 雕光刻影 皮影雕刻巨匠汪天稳 传承传统文化 匠人精神在中国
张欣 著
并行编程
并行编程原理与程序设计
何兵寿;宋鹏;刘颖