展开全部

主编推荐语

本书用Java诠释多线程编程的“三十六计”——多线程设计模式,对每个设计模式的讲解都附有实战案例和源代码解析。

内容简介

随着CPU多核时代的到来,多线程编程在充分利用计算资源、提高软件服务质量方面扮演了越来越重要的角色。

解决多线程编程中频繁出现的普遍问题,可以借鉴设计模式所提供的现成解决方案。然而,多线程编程相关的设计模式图书多采用C++作为描述语言,且书中所举的例子多与应用开发人员的实际工作相去甚远。

本书采用Java语言和UML为描述语言,并结合作者多年工作经历及相关实践经验,介绍了多线程环境下常用设计模式的来龙去脉:各个设计模式是什么样的、典型的实际应用场景、实际应用时需要注意的事项及各个设计模式的可复用代码实现代码。

本书第2版除更正了第1版中的错误外,还新增了JDK8、JDK9中与多线程设计模式相关的内容,并对代码进行了重构和重新排版,使代码部分重点更突出、更易于阅读。

本书适合有一定Java多线程编程基础、经验的读者阅读。

目录

  • 版权信息
  • 内容简介
  • 推荐序
  • 前言
  • 第1章 Java多线程编程实战基础
  • 1.1 无处不在的线程
  • 1.2 线程的创建与运行
  • 1.3 线程的状态与上下文切换
  • 1.4 对线程的监视
  • 1.5 原子性、内存可见性和重排序——重新认识synchronized和volatile
  • 1.6 多线程编程的优势和风险
  • 1.7 多线程编程常用术语
  • 第2章 设计模式简介
  • 2.1 设计模式及其作用
  • 2.2 多线程设计模式简介
  • 2.3 设计模式的描述
  • 第3章 Immutable Object(不可变对象)模式
  • 3.1 Immutable Object模式简介
  • 3.2 Immutable Object模式的架构
  • 3.3 Immutable Object模式实战案例解析
  • 3.4 Immutable Object模式的评价与实现考量
  • 3.4.1 适用场景
  • 3.4.2 对垃圾回收(Garbage Collection)的影响
  • 3.4.3 使用等效或者近似的不可变对象
  • 3.4.4 防御性复制
  • 3.5 Immutable Object模式的可复用实现代码
  • 3.6 Java标准库实例
  • 3.7 相关模式
  • 3.7.1 Thread Specific Storage模式(第10章)
  • 3.7.2 Serial Thread Confinement模式(第11章)
  • 3.8 参考资源
  • 第4章 Guarded Suspension(保护性暂挂)模式
  • 4.1 Guarded Suspension模式简介
  • 4.2 Guarded Suspension模式的架构
  • 4.3 Guarded Suspension模式实战案例解析
  • 4.4 Guarded Suspension模式的评价与实现考量
  • 4.4.1 内存可见性和锁泄漏(Lock Leak)
  • 4.4.2 线程被过早地唤醒
  • 4.4.3 嵌套监视器锁死
  • 4.5 Guarded Suspension模式的可复用实现代码
  • 4.6 Java标准库实例
  • 4.7 相关模式
  • 4.7.1 Promise模式(第6章)
  • 4.7.2 Producer-Consumer模式(第7章)
  • 4.8 参考资源
  • 第5章 Two-phase Termination(两阶段终止)模式
  • 5.1 Two-phase Termination模式简介
  • 5.2 Two-phase Termination模式的架构
  • 5.3 Two-phase Termination模式实战案例解析
  • 5.4 Two-phase Termination模式的评价与实现考量
  • 5.4.1 线程停止标志
  • 5.4.2 生产者/消费者问题中的线程停止
  • 5.4.3 隐藏而非暴露可停止线程
  • 5.5 Two-phase Termination模式的可复用实现代码
  • 5.6 Java标准库实例
  • 5.7 相关模式
  • 5.7.1 Producer-Consumer模式(第7章)
  • 5.7.2 Master-Slave模式(第12章)
  • 5.8 参考资源
  • 第6章 Promise(承诺)模式
  • 6.1 Promise模式简介
  • 6.2 Promise模式的架构
  • 6.3 Promise模式实战案例解析
  • 6.4 Promise模式的评价与实现考量
  • 6.4.1 异步方法的异常处理
  • 6.4.2 轮询
  • 6.4.3 异步任务的执行
  • 6.5 Promise模式的可复用实现代码
  • 6.6 Java标准库实例
  • 6.7 相关模式
  • 6.7.1 Guarded Suspension模式(第4章)
  • 6.7.2 Active Object模式(第8章)
  • 6.7.3 Master-Slave模式(第12章)
  • 6.7.4 Factory Method(工厂方法)模式
  • 6.8 参考资源
  • 第7章 Producer-Consumer(生产者/消费者)模式
  • 7.1 Producer-Consumer模式简介
  • 7.2 Producer-Consumer模式的架构
  • 7.3 Producer-Consumer模式实战案例解析
  • 7.4 Producer-Consumer模式的评价与实现考量
  • 7.4.1 产品的粒度
  • 7.4.2 通道积压
  • 7.4.3 非阻塞式反压与Reactive Streams规范
  • 7.4.4 工作窃取算法
  • 7.4.5 线程的停止
  • 7.4.6 高性能、高可靠性的Producer-Consumer模式实现
  • 7.5 Producer-Consumer模式的可复用实现代码
  • 7.6 Java标准库实例
  • 7.7 相关模式
  • 7.7.1 Guarded Suspension模式(第4章)
  • 7.7.2 Thread Pool模式(第9章)
  • 7.8 参考资源
  • 第8章 Active Object(主动对象)模式
  • 8.1 Active Object模式简介
  • 8.2 Active Object模式的架构
  • 8.3 Active Object模式实战案例解析
  • 8.4 Active Object模式的评价与实现考量
  • 8.4.1 错误隔离
  • 8.4.2 缓冲区监控
  • 8.4.3 缓冲区饱和处理策略
  • 8.4.4 Scheduler空闲工作者线程清理
  • 8.5 Active Object模式的可复用实现代码
  • 8.6 Java标准库实例
  • 8.7 相关模式
  • 8.7.1 Promise模式(第6章)
  • 8.7.2 Producer-Consumer模式(第7章)
  • 8.8 参考资源
  • 第9章 Thread Pool(线程池)模式
  • 9.1 Thread Pool模式简介
  • 9.2 Thread Pool模式的架构
  • 9.3 Thread Pool模式实战案例解析
  • 9.4 Thread Pool模式的评价与实现考量
  • 9.4.1 工作队列的选择
  • 9.4.2 线程池大小调校
  • 9.4.3 线程池监控
  • 9.4.4 线程泄漏
  • 9.4.5 可靠性与线程池饱和处理策略
  • 9.4.6 死锁
  • 9.4.7 线程池空闲线程清理
  • 9.5 Thread Pool模式的可复用实现代码
  • 9.6 Java标准库实例
  • 9.7 相关模式
  • 9.7.1 Two-phase Termination模式(第5章)
  • 9.7.2 Promise模式(第6章)
  • 9.7.3 Producer-Consumer模式(第7章)
  • 9.8 参考资源
  • 第10章 Thread Specific Storage(线程特有存储)模式
  • 10.1 Thread Specific Storage模式简介
  • 10.2 Thread Specific Storage模式的架构
  • 10.3 Thread Specific Storage模式实战案例解析
  • 10.4 Thread Specific Storage模式的评价与实现考量
  • 10.4.1 在线程池环境下使用Thread Specific Storage模式
  • 10.4.2 内存泄漏与伪内存泄漏
  • 10.5 Thread Specific Storage模式的可复用实现代码
  • 10.6 Java标准库实例
  • 10.7 相关模式
  • 10.7.1 Immutable Object模式(第3章)
  • 10.7.2 Proxy(代理)模式
  • 10.7.3 Singleton(单例)模式
  • 10.8 参考资源
  • 第11章 Serial Thread Confinement(串行线程封闭)模式
  • 11.1 Serial Thread Confinement模式简介
  • 11.2 Serial Thread Confinement模式的架构
  • 11.3 Serial Thread Confinement模式实战案例解析
  • 11.4 Serial Thread Confinement模式的评价与实现考量
  • 11.5 Serial Thread Confinement模式的可复用实现代码
  • 11.6 Java标准库实例
  • 11.7 相关模式
  • 11.7.1 Immutable Object模式(第3章)
  • 11.7.2 Promise模式(第6章)
  • 11.7.3 Producer-Consumer模式(第7章)
  • 11.7.4 Thread Specific Storage模式(第10章)
  • 11.8 参考资源
  • 第12章 Master-Slave(主仆)模式
  • 12.1 Master-Slave模式简介
  • 12.2 Master-Slave模式的架构
  • 12.3 Master-Slave模式实战案例解析
  • 12.4 Master-Slave模式的评价与实现考量
  • 12.4.1 子任务处理结果的收集
  • 12.4.2 Slave参与者实例的负载均衡与工作窃取
  • 12.4.3 可靠性与异常处理
  • 12.4.4 Slave线程的停止
  • 12.5 Master-Slave模式的可复用实现代码
  • 12.6 Java标准库实例
  • 12.7 相关模式
  • 12.7.1 Two-phase Termination模式(第5章)
  • 12.7.2 Promise模式(第6章)
  • 12.7.3 Strategy(策略)模式
  • 12.7.4 Template(模板)模式
  • 12.7.5 Factory Method(工厂方法)模式
  • 12.8 参考资源
  • 第13章 Pipeline(流水线)模式
  • 13.1 Pipeline模式简介
  • 13.2 Pipeline模式的架构
  • 13.3 Pipeline模式实战案例解析
  • 13.4 Pipeline模式的评价与实现考量
  • 13.4.1 Pipeline的深度
  • 13.4.2 基于线程池的Pipe
  • 13.4.3 错误处理
  • 13.4.4 可配置的Pipeline
  • 13.5 Pipeline模式的可复用实现代码
  • 13.6 Java标准库实例
  • 13.7 相关模式
  • 13.7.1 Serial Thread Confinement模式(第11章)
  • 13.7.2 Master-Slave模式(第12章)
  • 13.7.3 Composite模式
  • 13.8 参考资源
  • 第14章 Half-sync/Half-async(半同步/半异步)模式
  • 14.1 Half-sync/Half-async模式简介
  • 14.2 Half-sync/Half-async模式的架构
  • 14.3 Half-sync/Half-async模式实战案例解析
  • 14.4 Half-sync/Half-async模式的评价与实现考量
  • 14.4.1 队列积压
  • 14.4.2 避免同步任务层处理过慢
  • 14.5 Half-sync/Half-async模式的可复用实现代码
  • 14.6 Java标准库实例
  • 14.7 相关模式
  • 14.7.1 Two-phase Termination模式(第5章)
  • 14.7.2 Producer-Consumer模式(第7章)
  • 14.7.3 Active Object模式(第8章)
  • 14.7.4 Thread Pool模式(第9章)
  • 14.8 参考资源
  • 第15章 模式语言
  • 15.1 设计模式之间的联系
  • 15.2 Immutable Object模式
  • 15.3 Guarded Suspension模式
  • 15.4 Two-phase Termination模式
  • 15.5 Promise模式
  • 15.6 Producer-Consumer模式
  • 15.7 Active Object模式
  • 15.8 Thread Pool模式
  • 15.9 Thread Specific Storage模式
  • 15.10 Serial Thread Confinement模式
  • 15.11 Master-Slave模式
  • 15.12 Pipeline模式
  • 15.13 Half-sync/Half-async模式
  • 附录A 本书常用UML图指南
  • A.1 UML简介
  • A.2 类图(Class Diagram)
  • A.2.1 类的属性、方法和立体型(Stereotype)
  • A.2.2 类之间的关系
  • A.3 序列图(Sequence Diagram)
  • 参考文献
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。