借阅:13 收藏:0

Java concurrency in practice /(美) Brian goetz ... [等] 著 go童云兰等译

ISBN/ISSN::978-7-111-37004-8

出版:北京 :机械工业出版社 ,2012

载体形态:293页 :图 go23cm

丛编:华章专业开发者丛书

附注:本书适合Java程序开发人员阅读。

统一题名:Java concurrency in practice

中图分类号:TP312JA

责任者:戈茨 ((Goetz, Brian)) 著 童云兰 译

    • 评分:
    • 加入暂存架

    豆瓣内容简介:

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

    豆瓣作者简介:

    本书作者都是Java Community Process JSR 166专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。
    Brian Goetz有20多年的软件咨询行业经验,并著有至少75篇关于Java开发的文章。
    Tim Peierls是“现代多处理器”的典范,他在BoxPop.biz、唱片艺术和戏剧表演方面也颇有研究。
    Joseph Bowbeer是一个Java ME专家,他对并发编程的兴趣始于Apollo计算机时代。
    David Holmes是《The Java Programming Language》一书的合著者,任职于Sun公司。
    Joshua Bloch是Google公司的首席Java架构师,《Effective Java》一书的作者,并参与著作了《Java Puzzlers》。
    Doug Lea是《Concurrent Programming》一书的作者,纽约州立大学Oswego分校的计算机科学教授。

    目录:

    译者序
    前言
    第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 并发性标注
    参考文献

    分馆名 馆藏部门 图书条码 索书号 登录号 状态 馆员代借
    A 三层自然科学流通图书区 12000001164175 TP312JA/8044 1164175 在架可借 馆员代借
    序号 图书条码 索书号 登录号 藏书部门 流通状态 年卷期 装订册 装订方式 装订颜色
      类型 说明 URL
      评 论
      评分:
      发表

      北京创讯未来软件技术有限公司 版权所有 ALL RIGHTS RESERVED 京ICP备 09032139

      欢迎第117631位用户访问本系统