目录
代码清单 I
序 VII
第1章 介绍 1
1.1 并发的(非常)简短历史 1
1.2 线程的优点 3
1.3 线程的风险 5
1.4 线程无处不在 9
第1部分 基础 13
第2章 线程安全 15
2.1 什么是线程安全性 17
2.2 原子性 19
2.3 锁 23
2.4 用锁来保护状态 27
2.5 活跃度与性能 29
第3章 共享对象 33
3.1 可见性 33
3.2 发布和逸出 39
3.3 线程封闭 42
3.4 不可变性 46
3.5 安全发布 49
第4章 组合对象 55
4.1 设计线程安全的类 55
4.2 实例限制 58
4.3 委托线程安全 62
4.4 向已有的线程安全类添加功能 71
4.5 同步策略的文档化 74
第5章 构建块 79
5.1 同步容器 79
5.2 并发容器 84
5.3 阻塞队列和生产者-消费者模式 87
5.4 阻塞和可中断的方法 92
5.5 Synchronizer 94
5.6 为计算结果建立高效、可伸缩的高速缓存 101
第2部分 构建并发应用程序 111
第6章 任务执行 113
6.1 在线程中执行任务 113
6.2 Executor框架 117
6.3 寻找可强化的并行性 123
第7章 取消和关闭 135
7.1 任务取消 135
7.2 停止基于线程的服务 150
7.3 处理反常的线程终止 161
7.4 JVM关闭 164
第8章 应用线程池 167
8.1 任务与执行策略间的隐性耦合 167
8.2 定制线程池的大小 170
8.3 配置ThreadPoolExecutor 171
8.4 扩展ThreadPoolExecutor 179
8.5 并行递归算法 181
第9章 GUI应用程序 189
9.1 为什么GUI是单线程化的 189
9.2 短期的GUI任务 192
9.3 耗时GUI任务 195
9.4 共享数据模型 198
9.5 其他形式的单线程子系统 202
第3部分 活跃度,性能和测试 203
第10章 避免活跃度危险 205
10.1 死锁 205
10.2 避免和诊断死锁 215
10.3 其他的活跃度危险 218
第11章 性能和可伸缩性 221
11.1 性能的思考 221
11.2 Amdahl定律 225
11.3 线程引入的开销 229
11.4 减少锁的竞争 232
11.5 示例:比较Map的性能 242
11.6 减少上下文切换的开销 243
第12章 测试并发程序 247
12.1 测试正确性 248
12.2 测试性能 260
12.3 避免性能测试的陷阱 266
12.4 测试方法补遗 270
第4部分 高级主题 275
第13章 显式锁 277
13.1 Lock和ReentrantLock 277
13.2 对性能的考量 282
13.3 公平性 283
13.4 在synchronized和ReentrantLock之间进行选择 285
13.5 读-写锁 286
第14章 构建自定义的同步工具 291
14.1 管理状态依赖性 291
14.2 使用条件队列 298
14.3 显式的Condition对象 306
14.4 剖析Synchronizer 308
14.5 AbstractQueuedSynchronizer 311
14.6 java.util.concurrent的Synchronizer类中的AQS 314
第15章 原子变量与非阻塞同步机制 319
15.1 锁的劣势 319
15.2 硬件对并发的支持 321
15.3 原子变量类 324
15.4 非阻塞算法 329
第16章 Java存储模型 337
16.1 什么是存储模型,要它何用 337
16.2 发布 344
16.3 初始化安全性 349
附录A 同步Annotation 353
A.1 类Annotation 353
A.2 域Annotation和方法Annotation 353
参考文献 355
索引
| 回书目 上一节 |
|
· Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. · 08年5月各大网上书店及.. |
· 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. |
|
||||
| · ASP.NET开发教程 · 专题:ASP.NET 2.0基础.. · LAMP技术精解 · 服务器节能与绿色IT · ARP攻击防范与解决方案 · Linux 集群技术专题 · Windows集群服务应用 · CISSP认证成长之路 |
· SQL Server 2008/2005.. · SQL Server入门到精通 · 网络工程师职业规划与.. · 浏览器的战国时代 · 运营商封堵ADSL共享 中.. · 微软出价446亿美元收购.. · 技术人求职简历完备手册 · 开源虚拟化技术Xen |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Apache技术专题 · Windows集群服务应用 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. · 专题:AIX操作系统管理.. · 访问控制列表(ACL)介绍 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · 三层交换技术专题 · Apache技术专题 · 企业数据恢复指南 · Windows集群服务应用 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 · ASP.NET开发教程 · PHP开发应用手册 |
|||