Java并发编程实战

Java并发编程实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
出版社: 机械工业出版社
2012-02
版次: 1
ISBN: 9787111370048
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 312页
原版书名: Java Concurrency in Practice
  •   《Java并发编程实战》深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。  《Java并发编程实战》适合Java程序开发人员阅读。   《Java并发编程实战》作者都是JavaCommunityProcessJSR166专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。BrianGoetz有20多年的软件咨询行业经验,并著有至少75篇关于Java开发的文章。TimPeierls是“现代多处理器”的典范,他在BoxPop.biz、唱片艺术和戏剧表演方面也颇有研究。JosephBowbeer是一个JavaME专家,他对并发编程的兴趣始于Apollo计算机时代。DavidHolmes是《TheJavaProgrammingLanguage》一书的合著者,任职于Sun公司。JoshuaBloch是Google公司的首席Java架构师,《EffectiveJava》一书的作者,并参与著作了《JavaPuzzlers》。DougLea是《ConcurrentProgramming》一书的作者,纽约州立大学Oswego分校的计算机科学教授。 对本书的赞誉译者序前 言第1章 简介1.1 并发简史1.2 线程的优势1.2.1 发挥多处理器的强大能力1.2.2 建模的简单性1.2.3 异步事件的简化处理1.2.4 响应更灵敏的用户界面1.3 线程带来的风险1.3.1 安全性问题1.3.2 活跃性问题1.3.3 性能问题1.4 线程无处不在第一部分 基础知识第2章 线程安全性2.1 什么是线程安全性2.2 原子性2.2.1 竞态条件2.2.2 示例:延迟初始化中的竞态条件2.2.3 复合操作2.3 加锁机制2.3.1 内置锁2.3.2 重入2.4 用锁来保护状态2.5 活跃性与性能第3章 对象的共享3.1 可见性3.1.1 失效数据3.1.2 非原子的64位操作3.1.3 加锁与可见性3.1.4 Volatile变量 3.2 发布与逸出3.3 线程封闭3.3.1 Ad-hoc线程封闭3.3.2 栈封闭3.3.3 ThreadLocal类3.4 不变性3.4.1 Final域3.4.2 示例:使用Volatile类型来发布不可变对象3.5 安全发布3.5.1 不正确的发布:正确的对象被破坏3.5.2  不可变对象与初始化安全性3.5.3 安全发布的常用模式3.5.4 事实不可变对象3.5.5 可变对象3.5.6 安全地共享对象第4章 对象的组合4.1 设计线程安全的类4.1.1 收集同步需求4.1.2 依赖状态的操作4.1.3 状态的所有权4.2 实例封闭4.2.1 Java监视器模式4.2.2 示例:车辆追踪4.3 线程安全性的委托4.3.1 示例:基于委托的车辆追踪器4.3.2 独立的状态变量4.3.3 当委托失效时4.3.4 发布底层的状态变量4.3.5 示例:发布状态的车辆追踪器4.4 在现有的线程安全类中添加功能4.4.1 客户端加锁机制4.4.2 组合4.5 将同步策略文档化第5章 基础构建模块5.1 同步容器类5.1.1 同步容器类的问题5.1.2 迭代器与Concurrent-ModificationException5.1.3 隐藏迭代器5.2 并发容器5.2.1 ConcurrentHashMap5.2.2 额外的原子Map操作5.2.3 CopyOnWriteArrayList5.3 阻塞队列和生产者-消费者模式5.3.1 示例:桌面搜索5.3.2 串行线程封闭5.3.3 双端队列与工作密取5.4 阻塞方法与中断方法5.5 同步工具类5.5.1 闭锁5.5.2 FutureTask5.5.3 信号量5.5.4 栅栏5.6 构建高效且可伸缩的结果缓存第二部分 结构化并发应用程序第6章 任务执行6.1 在线程中执行任务6.1.1 串行地执行任务6.1.2 显式地为任务创建线程6.1.3 无限制创建线程的不足6.2 Executor框架6.2.1 示例:基于Executor的Web服务器6.2.2 执行策略6.2.3 线程池6.2.4 Executor的生命周期6.2.5 延迟任务与周期任务6.3 找出可利用的并行性6.3.1 示例:串行的页面渲染器6.3.2 携带结果的任务Callable与Future6.3.3 示例:使用Future实现页面渲染器6.3.4 在异构任务并行化中存在的局限6.3.5 CompletionService:Executor与BlockingQueue6.3.6 示例:使用CompletionService实现页面渲染器6.3.7 为任务设置时限6.3.8 示例:旅行预定门户网站第7章 取消与关闭第8章 线程池的使用第9章 图形用户界面应用程序第三部分 活跃性、性能与测试第10章 避免活跃性危险第11章 性能与可伸缩性第12章 并发程序的测试第四部分 高级主题第13章 显式锁第14章 构建自定义的同步工具第15章 原子变量与非阻塞同步机制第16章 Java内存模型附录A 并发性标注参考文献
  • 内容简介:
      《Java并发编程实战》深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。  《Java并发编程实战》适合Java程序开发人员阅读。
  • 作者简介:
      《Java并发编程实战》作者都是JavaCommunityProcessJSR166专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。BrianGoetz有20多年的软件咨询行业经验,并著有至少75篇关于Java开发的文章。TimPeierls是“现代多处理器”的典范,他在BoxPop.biz、唱片艺术和戏剧表演方面也颇有研究。JosephBowbeer是一个JavaME专家,他对并发编程的兴趣始于Apollo计算机时代。DavidHolmes是《TheJavaProgrammingLanguage》一书的合著者,任职于Sun公司。JoshuaBloch是Google公司的首席Java架构师,《EffectiveJava》一书的作者,并参与著作了《JavaPuzzlers》。DougLea是《ConcurrentProgramming》一书的作者,纽约州立大学Oswego分校的计算机科学教授。
  • 目录:
    对本书的赞誉译者序前 言第1章 简介1.1 并发简史1.2 线程的优势1.2.1 发挥多处理器的强大能力1.2.2 建模的简单性1.2.3 异步事件的简化处理1.2.4 响应更灵敏的用户界面1.3 线程带来的风险1.3.1 安全性问题1.3.2 活跃性问题1.3.3 性能问题1.4 线程无处不在第一部分 基础知识第2章 线程安全性2.1 什么是线程安全性2.2 原子性2.2.1 竞态条件2.2.2 示例:延迟初始化中的竞态条件2.2.3 复合操作2.3 加锁机制2.3.1 内置锁2.3.2 重入2.4 用锁来保护状态2.5 活跃性与性能第3章 对象的共享3.1 可见性3.1.1 失效数据3.1.2 非原子的64位操作3.1.3 加锁与可见性3.1.4 Volatile变量 3.2 发布与逸出3.3 线程封闭3.3.1 Ad-hoc线程封闭3.3.2 栈封闭3.3.3 ThreadLocal类3.4 不变性3.4.1 Final域3.4.2 示例:使用Volatile类型来发布不可变对象3.5 安全发布3.5.1 不正确的发布:正确的对象被破坏3.5.2  不可变对象与初始化安全性3.5.3 安全发布的常用模式3.5.4 事实不可变对象3.5.5 可变对象3.5.6 安全地共享对象第4章 对象的组合4.1 设计线程安全的类4.1.1 收集同步需求4.1.2 依赖状态的操作4.1.3 状态的所有权4.2 实例封闭4.2.1 Java监视器模式4.2.2 示例:车辆追踪4.3 线程安全性的委托4.3.1 示例:基于委托的车辆追踪器4.3.2 独立的状态变量4.3.3 当委托失效时4.3.4 发布底层的状态变量4.3.5 示例:发布状态的车辆追踪器4.4 在现有的线程安全类中添加功能4.4.1 客户端加锁机制4.4.2 组合4.5 将同步策略文档化第5章 基础构建模块5.1 同步容器类5.1.1 同步容器类的问题5.1.2 迭代器与Concurrent-ModificationException5.1.3 隐藏迭代器5.2 并发容器5.2.1 ConcurrentHashMap5.2.2 额外的原子Map操作5.2.3 CopyOnWriteArrayList5.3 阻塞队列和生产者-消费者模式5.3.1 示例:桌面搜索5.3.2 串行线程封闭5.3.3 双端队列与工作密取5.4 阻塞方法与中断方法5.5 同步工具类5.5.1 闭锁5.5.2 FutureTask5.5.3 信号量5.5.4 栅栏5.6 构建高效且可伸缩的结果缓存第二部分 结构化并发应用程序第6章 任务执行6.1 在线程中执行任务6.1.1 串行地执行任务6.1.2 显式地为任务创建线程6.1.3 无限制创建线程的不足6.2 Executor框架6.2.1 示例:基于Executor的Web服务器6.2.2 执行策略6.2.3 线程池6.2.4 Executor的生命周期6.2.5 延迟任务与周期任务6.3 找出可利用的并行性6.3.1 示例:串行的页面渲染器6.3.2 携带结果的任务Callable与Future6.3.3 示例:使用Future实现页面渲染器6.3.4 在异构任务并行化中存在的局限6.3.5 CompletionService:Executor与BlockingQueue6.3.6 示例:使用CompletionService实现页面渲染器6.3.7 为任务设置时限6.3.8 示例:旅行预定门户网站第7章 取消与关闭第8章 线程池的使用第9章 图形用户界面应用程序第三部分 活跃性、性能与测试第10章 避免活跃性危险第11章 性能与可伸缩性第12章 并发程序的测试第四部分 高级主题第13章 显式锁第14章 构建自定义的同步工具第15章 原子变量与非阻塞同步机制第16章 Java内存模型附录A 并发性标注参考文献
查看详情
好书推荐 / 更多
Java并发编程实战
甲骨文丛书·民族国家间的和平与战争(套装全2册)
雷蒙·阿隆(Raymon Aron)
Java并发编程实战
寻蜀记:从考古看四川
萧易 著
Java并发编程实战
马连良文集 梨园春秋笔
马龙 著
Java并发编程实战
法度与人心
赵冬梅
Java并发编程实战
国家与权力(东方编译所译丛)
[美]理查德·拉克曼 著;张昕 译;郦菁
Java并发编程实战
童话里隐藏的世界史
[韩]朴信英 著;蔡佩君 译
Java并发编程实战
黑信封
[罗马尼亚]诺曼˙马内阿 著;邹亚 译
Java并发编程实战
海天译丛:冬天的卡西诺
[法]多米尼克·贝纳尔 著;王小水 译
Java并发编程实战
微积分的力量
史蒂夫·斯托加茨(Steven Strogatz)
Java并发编程实战
你好,我是阿斯伯格员工
露迪 西蒙
Java并发编程实战
病毒博物馆:中国观鸟者、病毒猎人和生命边界上的健康哨兵(薄荷实验)
[法]弗雷德里克·凯克 著;钱楚 译
Java并发编程实战
星空5500年:TheSkyAtlas中文简体版
[英]爱德华·布鲁克-海钦 著