并发编程理论与实践PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:张杨著
- 出 版 社:北京:清华大学出版社
- 出版年份:2019
- ISBN:9787302516781
- 页数:278 页
第1章 绪论 1
1.1 概述 1
1.2 概念和术语 2
1.2.1 并发与并行 2
1.2.2 串行执行和顺序执行 4
1.2.3 超线程 4
1.2.4 加速比 5
1.3 Java并发方面的特性 5
1.4 并发卐并行程序设计的方法 6
1.4.1 分治方法 6
1.4.2 流水线 7
1.4.3 消息传递 8
1.5 并发程序的评判标准 8
1.6 Java内存模型 9
1.7 程序的运行说明 10
第2章 线程 13
2.1 进程与线程 13
2.2 线程的创建 14
2.2.1 继承Thread类 14
2.2.2 实现Runnable接口 16
2.2.3 两种方法的比较 18
2.2.4 相关说明 18
2.3 线程的属性 18
2.3.1 线程标识符 18
2.3.2 线程名 20
2.3.3 线程状态 23
2.3.4 线程的优先级和调度 27
2.3.5 守护线程 30
2.4 线程管理 33
2.4.1 join()方法 33
2.4.2 sleep()方法 37
2.4.3 yield()方法 38
2.4.4 interrupt()方法 38
2.4.5 其他方法 40
2.5 线程分组 40
2.6 线程数目的确定 43
2.7 线程本地化 44
2.8 带返回值的线程 47
2.8.1 Callable接口 47
2.8.2 Future接口 47
2.8.3 Callable与Runnable的比较 50
2.9 案例分析 51
小结 61
习题 61
第3章 线程同步控制 62
3.1 为什么要使用同步控制 62
3.2 基本概念 64
3.2.1 数据竞争 64
3.2.2 临界区 65
3.2.3 监视器 65
3.2.4 阻塞和非阻塞 66
3.2.5 线程安全与线程不安全 66
3.3 锁 67
3.3.1 同步锁 67
3.3.2 可重入锁 70
3.3.3 读写锁 77
3.3.4 邮戳锁 83
3.3.5 几种锁机制的比较 89
3.3.6 锁的不足之处 90
3.3.7 减少锁竞争的方法 90
3.3.8 死锁和活锁 91
3.4 volatile变量 96
3.5 原子操作 96
3.5.1 基本类型的原子类 97
3.5.2 一般引用类型的原子类 100
3.5.3 ABA问题 102
3.5.4 扩展的原子引用类型 105
3.5.5 原子操作数组类 111
小结 116
习题 117
第4章 线程间通信 118
4.1 等待集合 118
4.2 wait()巭notify()巭notifyAll()方法 118
4.2.1 wait()方法 118
4.2.2 notify()方法 119
4.2.3 notifyAll()方法 119
4.2.4 实例 120
4.3 条件变量 126
4.3.1 await()方法 127
4.3.2 signal()方法 128
4.3.3 signalAll()方法 128
4.3.4 实例 128
习题 131
第5章 线程同步障栅 132
5.1 障栅 132
5.2 倒计时门闩 137
5.3 信号量 140
5.4 同步队列 145
5.5 交换器 148
5.6 阶段化处理 152
习题 160
第6章 线程执行器 161
6.1 线程池 161
6.1.1 Executor接口 161
6.1.2 ExecutorService接口 162
6.1.3 ThreadPoolExecutor类 162
6.1.4 工厂类Executors 163
6.1.5 使用线程执行器处理没有返回值的线程 164
6.2 固定数目的线程执行器 166
6.3 使用线程执行器处理有返回值的线程 168
6.4 延迟执行、周期性执行的执行器 171
6.4.1 ScheduledExecutorService接口 171
6.4.2 ScheduledFuture接口 172
6.4.3 举例 173
6.5 取消任务的执行 176
6.6 任务装载和结果处理的分离 177
6.7 管理被拒绝的任务 179
第7章 Fork巭Join框架 183
7.1 概述 183
7.2 相关知识 184
7.2.1 负载均衡 184
7.2.2 分治方法 184
7.2.3 工作窃取算法 185
7.3 Fork巭Join框架的编程模式 185
7.4 ForkJoinPool类 186
7.4.1 ForkJoinPool的创建 186
7.4.2 ForkJoinPool的使用 187
7.5 Fork巭Join框架中的任务 188
7.5.1 任务的创建 188
7.5.2 任务的运行方式 196
7.5.3 任务的取消 199
7.6 Fork巭Join框架的限制 202
7.7 几种线程机制的比较 202
习题 202
第8章 流处理 203
8.1 Lambda表达式 203
8.1.1 Lambda表达式的定义 203
8.1.2 Lambda表达式的使用 204
8.2 函数式接口Predicate 205
8.3 流 206
8.3.1 流简介 206
8.3.2 创建流 207
8.3.3 流的操作 208
第9章 自定义并发类 211
9.1 自定义线程工厂 211
9.2 自定义线程池 213
9.3 在执行器中使用自定义的线程工厂 215
9.4 自定义周期性任务 216
9.5 自定义与Fork巭Join框架相关的并发类 221
9.5.1 ForkJoinWorkerThread类 221
9.5.2 ForkJoinPool.ForkJoinWorkerThreadFactory接口 221
9.5.3 自定义Fork巭Join框架中的线程 222
9.5.4 自定义任务 224
9.6 自定义同步类 227
9.6.1 自定义锁 227
9.6.2 自定义原子操作 231
习题 233
第10章 线程安全的集合 234
10.1 线程安全的双端队列 234
10.2 线程安全的哈希表 238
10.3 线程安全的跳表 240
10.4 随机数产生 242
10.5 并行数组 244
第11章 多线程程序的性能和测试 246
11.1 性能 246
11.2 可伸缩性 248
11.3 多线程程序的测试 248
第12章 面向切面技术在并发编程中的应用 249
12.1 相关知识 249
12.1.1 面向切面编程 249
12.1.2 Java注释接口 251
12.2 类方法的并发执行 254
12.2.1 问题的提出 254
12.2.2 并行库 255
12.2.3 基于面向方面技术的并行库易用性优化 260
12.2.4 实验 262
12.2.5 小结 266
12.3 实现被标记的类方法的并发执行 267
12.4 使用面向切面技术分离并发关注点 269
12.4.1 问题演示 269
12.4.2 重构框架 271
12.4.3 实验评估 274
习题 277
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《情报学 服务国家安全与发展的现代情报理论》赵冰峰著 2018
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《新课标背景下英语教学理论与教学活动研究》应丽君 2018
- 《党员干部理论学习培训教材 理论热点问题党员干部学习辅导》(中国)胡磊 2018
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《王蒙文集 新版 35 评点《红楼梦》 上》王蒙著 2020
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《燕堂夜话》蒋忠和著 2019
- 《经久》静水边著 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看书琐记与作文秘诀》鲁迅著 2019
- 《酒国》莫言著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019