Java并发编程实战

Java并发编程实战

我想读
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。

内容简介

本书从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。本书适合Java程序开发人员阅读。

作者简介

作者Brian Goetz,有20多年的软件咨询行业经验,并著有至少75篇关于Java开发的文章。

章节目录

版权信息

对本书的赞誉

译者序

前言

第1章 简介

1.1 并发简史

1.2 线程的优势

1.3 线程带来的风险

1.4 线程无处不在

第一部分 基础知识

第2章 线程安全性

2.1 什么是线程安全性

2.2 原子性

2.3 加锁机制

2.4 用锁来保护状态

2.5 活跃性与性能

第3章 对象的共享

3.1 可见性

3.2 发布与逸出

3.3 线程封闭

3.4 不变性

3.5 安全发布

第4章 对象的组合

4.1 设计线程安全的类

4.2 实例封闭

4.3 线程安全性的委托

4.4 在现有的线程安全类中添加功能

4.5 将同步策略文档化

第5章 基础构建模块

5.1 同步容器类

5.2 并发容器

5.3 阻塞队列和生产者-消费者模式

5.4 阻塞方法与中断方法

5.5 同步工具类

5.6 构建高效且可伸缩的结果缓存

第二部分 结构化并发应用程序

第6章 任务执行

6.1 在线程中执行任务

6.2 Executor框架

6.3 找出可利用的并行性

第7章 取消与关闭

7.1 任务取消

7.2 停止基于线程的服务

7.3 处理非正常的线程终止

7.4 JVM关闭

第8章 线程池的使用

8.1 在任务与执行策略之间的隐性耦合

8.2 设置线程池的大小

8.3 配置ThreadPoolExecutor

8.4 扩展ThreadPoolExecutor

8.5 递归算法的并行化

第9章 图形用户界面应用程序

9.1 为什么GUI是单线程的

9.2 短时间的GUI任务

9.3 长时间的GUI任务

9.4 共享数据模型

9.5 其他形式的单线程子系统

第三部分 活跃性、性能与测试

第10章 避免活跃性危险

10.1 死锁

10.2 死锁的避免与诊断

10.3 其他活跃性危险

第11章 性能与可伸缩性

11.1 对性能的思考

11.2 Amdahl定律

11.3 线程引入的开销

11.4 减少锁的竞争

11.5 示例:比较Map的性能

11.6 减少上下文切换的开销

第12章 并发程序的测试

12.1 正确性测试

12.2 性能测试

12.3 避免性能测试的陷阱

12.4 其他的测试方法

第四部分 高级主题

第13章 显式锁

13.1 Lock与ReentrantLock

13.2 性能考虑因素

13.3 公平性

13.4 在synchronized和ReentrantLock之间进行选择

13.5 读-写锁

第14章 构建自定义的同步工具

14.1 状态依赖性的管理

14.2 使用条件队列

14.3 显式的Condition对象

14.4 Synchronizer剖析

14.5 AbstractQueuedSynchronizer

14.6 java.util.concurrent同步器类中的AQS

第15章 原子变量与非阻塞同步机制

15.1 锁的劣势

15.2 硬件对并发的支持

15.3 原子变量类

15.4 非阻塞算法

第16章 Java内存模型

16.1 什么是内存模型,为什么需要它

16.2 发布

16.3 初始化过程中的安全性

附录A 并发性标注

参考文献

Java并发编程实战是2012年由机械工业出版社出版,作者[美]BrianGoetz。

得书感谢您对《Java并发编程实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
JavaScript高级程序设计(第3版) 电子书

国内JavasScript第一书,html+css+javascript教程精粹,html实战实例。
WebAssembly标准入门 电子书

适读人群:本书适合从事高性能Web前端开发、跨语言Web应用开发的技术人员学习参考,也可以作为WebAssembly标准参考手册随时查阅。作为一种新颖的网页前端技术,WebAs...
软件测试技术实战:设计、工具及管理 电子书

看得懂、用得上的软件测试指南。
微信小程序开发图解案例教程:附精讲视频 电子书

一本书快书入门微信小程序。
CSS世界 电子书

书中介绍大量许多前端开发人员都不知道的CSS知识点。通过阅读本书,读者会对CSS世界的深度和广度有一个全新的认识。
Android 源码设计模式解析与实战 电子书

本书适合的读者为初、中、高级Android工程师,也可以作为大专院校相关师生的学习用书和培训学校的教材。
GitHub入门与实践 电子书

本书旨在指导各位读者如何在开发现场使用GitHub进行高效开发,内容全面,适合所有想要使用GitHub进行开发的程序员或团队阅读。