除了咖啡因,我想没有什么能比写出一段执行速度飞快的代码更能令程序员们兴奋了。然而我们如何才能满足这种对计算速度的渴求呢?诚然,摩尔定律可以帮我们解决部分问题,但多核处理器才代表了未来真正的发展方向。为了能够充分发挥多核处理器的优势,我们每个程序员都应该熟悉并掌握并发编程的技能。
本书是Java并发编程领域的里程碑之作,由资深Java技术专家、并发编程专家、敏捷开发专家和Jot大奖得主撰写,Amazon五星级畅销书。它系统深入地讲解在JVM平台上如何利用JIDK同步模型、软件事务内存模型和基于角色的并发模型更好地进行并发编程。全书以示例驱动,通俗易懂,包含大量编程技巧、注意事项和最佳实践。要重点强调的是,本书并不仅仅只适合于Java语言的并发编程,它还适用于Clojure. Groovy. JRuby 和Scala等所有运行在JVM平台上的编程语言。
推荐序
全书共10章,分为五个部分。
由于篇幅限制小编,所以只把部分知识点截图出来粗略的介绍,需要的程序员(媛)可以点击此处来获取就可以了!
第1章
并发的威力与风险
- 1.1 线程:程序的执行流程.
- 1.2并发的威力
- 1.3并发的风险
- 1.4小结
第一部分:并发策略,阐释了影响并发性的因素、如何有效实现并发,以及并发的设计方法等
第2章分工原则
- 2.1从顺序到并发
- 2.2在I0密集型应用程序中使用并发技术
- 2.3并发方法对I0密集型应用程序的加速效果
- 2.4在计算 密集型应用程序中使用并发技术
- 2.5并发方法对于计算密集型应用程序的加速效果
- 2.6有效的并发策略
- 2.7小结
第3章设计方法
- 3.2探寻 设计选项
- 3.3共享可变性设计
- 3.4隔离可变性设计
- 3.5纯粹不可 变性设计
- 3.6持久的1不可变的数据结构
- 3.7选择一种设计方
- 3.8小结
第二部分:现代JavaJDK并发,讨论了现代Java API的线程安全和效率,以及如何处理已有应用程序中的现实问题和重构遗留代码时的原则
第4章可扩展性和线程安全
- 4.1用 ExecutorService管理线程
- 4.2使线程协作
- 4.3数据交换
- 4.4 Java 7 Fork-Join AP
- 4.5可扩展集合类
- 4.6 Lock 和Synchronized
- 4.7小结
第5章驯服共享可变性
- 5.1共享可变性 != Public
- 5.2定位并发问题
- 5.3保持不变式
- 5.4管理好资源
- 5.5保证可见性
- 5.6增强并发性
- 5.7保证原子性
- 5.8 小结
第三部分:软件事务内存,深入讨论了STM并就如何在各种主要的JVM语言里使用STM给出了指导意见
第6章软件事务内存导论
- 6.1同步 与并发水火不容
- 6.2对象 模型的缺陷
- 6.3将实体 与状态分离
- 6.4软件事务 内存
- 6.5 STM 中的事务
- 6.6用STM实现并发
- 6.7用Akka/Multiverse STM实现并发
- 6.8 创建事务
- 6.9创建嵌套事务
- 6.10配置Akka事务
- 6.11阻塞事务一有意识地等待
- 6.12提交 和回滚事件
- 6.13集合与事务
- 6.14处理写偏斜异常
- 6.15 STM 的局限性
- 6.16小结
第7章在Clojure、 Groovy、 Java、 JRuby和Scala中使用STM
- 7.1 Clojure STM
- 7.2 Groovy 集成
- 7.3 Java 集成
- 7.4 JRuby 集成
- 7.5 Scala 中的可选方案
- 7.6小结
第四部分:基于角色的并发,详细讲解了如何在基于角色的模型下消除并发问题以及如何在己的首选语言中使用角色模型
第8章讨论的隔离可变
- 8.1用角 色实现隔离可变性
- 8.2角色的特性
- 8.3创建角
- 8.4收发消息
- 8.5同时使用多个角色
- 8.6多角色协作
- 8.7使用类型化角色
- 8.8类型化角色和murmurs'
- 8.9混合使用角 色和STM
- 8.10使用transactor
- 8.11调和类型化角色
- 8.12远程角色
- 8.13基于角色模型的局限性
- 8.14小结
第9章在Groovy、 Java、JRuby和Scala 中使用角色
- 9.1在Groovy中使用GPars提供的角色实现
- 9.2在Java中使用Akka提供的角色实现
- 9.3在JRuby中使用Akka提供的Actor实现
- 9.4在Scala中使用角色
- 9.5小结
第五部分:后记,回顾了本书讨论的解决方案并总结了并发编程中的注意事项和最佳实践。
第10章并发编程之禅
- 10.1慎重选择
- 10.2并发:程序员指南
- 10.3并发:架构师指南
- 10.4明 智地进行选择
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以点击此处来获取就可以了!