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并发编程实战
野猪渡河
张贵兴 著
Java并发编程实战
东方故事集(插图本)
[法]玛格丽特·尤瑟纳尔
Java并发编程实战
我和我的命(梁晓声新作)
梁晓声
Java并发编程实战
当你起航前往伊萨卡:卡瓦菲斯诗集
[希腊]C. P. 卡瓦菲斯 著;黄灿然 译
Java并发编程实战
在喧嚣和寂静之间
[波]维斯瓦娃·希姆博尔斯卡 著;林洪亮 译
Java并发编程实战
没有男人的女人们 没有女人的男人们(新丝路文库)
[伊朗]沙赫尔努希·帕尔西普尔 著;穆宏燕 王莹
Java并发编程实战
中美相遇:大国外交与晚清兴衰(1784-1911)
王元崇 著
Java并发编程实战
人文与社会译丛:自足的世俗社会
菲尔·朱克曼 著;杨靖 译
Java并发编程实战
汗青堂丛书071·洪水与饥荒:1938至1950年河南黄泛区的战争与生态
穆盛博;亓民帅;林炫羽
Java并发编程实战
新民说·贝克德意志史I:皇帝、改革者与政治家(全7册)
[德]马提亚斯·贝歇尔 著;任伊乐 译
Java并发编程实战
我们这一帮(菲利普·罗斯全集)
菲利普·罗斯 著
Java并发编程实战
多元宇宙是什么关于宇宙起源的新故事
亚历克斯·维连金 著