Java多线程编程实战指南:设计模式篇(第2版)

《Java多线程编程实战指南:设计模式篇(第2版)》

  • 出版社:电子工业出版社
  • ISBN:9787121382451
  • 版次:2
  • 商品编码:12829240
  • 品牌:博文视点
  • 包装:平装
  • 丛书名:Java多线程编程实战系列
  • 开本:16开
  • 出版时间:2020-03-01
  • 用纸:胶版纸
  • 页数:280
  • 字数:403000
  • 正文语种:中文
基本介绍书籍目录点评信息
  • 书籍内容

      随着CPU多核时代的到来,多线程编程在充分利用计算资源、提高软件服务质量方面扮演了越来越重要的角色。解决多线程编程中频繁出现的普遍问题可以借鉴设计模式所提供的现成解决方案。然而,多线程编程相关的设计模式图书多采用C++作为描述语言,且书中所举的例子多与应用开发人员的实际工作相去甚远。《Java多线程编程实战指南:设计模式篇(第2版)》采用Java语言和UML为描述语言,并结合作者多年工作经历及相关实践经验,介绍了多线程环境下常用设计模式的来龙去脉:各个设计模式是什么样的、典型的实际应用场景、实际应用时需要注意的事项及各个设计模式的可复用代码实现代码。
      《Java多线程编程实战指南:设计模式篇(第2版)》第2版除更正了第1版中的错误外,还新增了JDK 8、JDK 9中与多线程设计模式相关的内容,并对代码进行了重构和重新排版,使代码部分重点更突出、更易于阅读,以及提高了插图的清晰度。《Java多线程编程实战指南:设计模式篇(第2版)》适合有一定Java多线程编程基础、经验的读者阅读。

    编辑推荐

    适读人群 :本书适合有一定Java多线程编程基础、经验的读者阅读。
    本书用Java诠释多线程编程的“三十六计”——多线程设计模式,对每个设计模式的讲解都附有实战案例和源代码解析,从理论到实战经验,全面呈现常用多线程设计模式的来龙去脉。
    本书第2版除更正了第1版中的错误外,还新增了JDK 8、JDK 9中与多线程设计模式相关的内容,并对代码进行了重构和重新排版,使代码部分重点更突出、更易于阅读,以及提高了插图的清晰度。

    作者简介

    黄文海,2004年开始从事软件开发工作,近几年从事软件项目管理工作。在其工作过程中积累了丰富的技术指导经验和企业内部培训经验。曾在InfoQ中文站和IBM developerWorks上发表过十几篇技术、项目管理文章。
  • 第1章 Java多线程编程实战基础 11.1 无处不在的线程 11.2 线程的创建与运行 31.3 线程的状态与上下文切换 51.4 对线程的监视 81.5 原子性、内存可见性和重排序――重新认识synchronized和volatile 111.6 多线程编程的优势和风险 131.7 多线程编程常用术语 14第2章 设计模式简介 192.1 设计模式及其作用 192.2 多线程设计模式简介 222.3 设计模式的描述 23第3章 Immutable Object(不可变对象)模式 253.1 Immutable Object模式简介 253.2 Immutable Object模式的架构 273.3 Immutable Object模式实战案例解析 293.4 Immutable Object模式的评价与实现考量 333.4.1 适用场景 333.4.2 对垃圾回收(Garbage Collection)的影响 343.4.3 使用等效或者近似的不可变对象 353.4.4 防御性复制 353.5 Immutable Object模式的可复用实现代码 353.6 Java标准库实例 353.7 相关模式 373.7.1 Thread Specific Storage模式(第10章) 373.7.2 Serial Thread Confinement模式(第11章) 373.8 参考资源 38第4章 Guarded Suspension(保护性暂挂)模式 394.1 Guarded Suspension模式简介 394.2 Guarded Suspension模式的架构 394.3 Guarded Suspension模式实战案例解析 434.4 Guarded Suspension模式的评价与实现考量 504.4.1 内存可见性和锁泄漏(Lock Leak) 514.4.2 线程被过早地唤醒 524.4.3 嵌套监视器锁死 534.5 Guarded Suspension模式的可复用实现代码 564.6 Java标准库实例 564.7 相关模式 564.7.1 Promise模式(第6章) 574.7.2 Producer-Consumer模式(第7章) 574.8 参考资源 57第5章 Two-phase Termination(两阶段终止)模式 585.1 Two-phase Termination模式简介 585.2 Two-phase Termination模式的架构 595.3 Two-phase Termination模式实战案例解析 615.4 Two-phase Termination模式的评价与实现考量 705.4.1 线程停止标志 715.4.2 生产者/消费者问题中的线程停止 715.4.3 隐藏而非暴露可停止线程 735.5 Two-phase Termination模式的可复用实现代码 735.6 Java标准库实例 735.7 相关模式 745.7.1 Producer-Consumer模式(第7章) 745.7.2 Master-Slave模式(第12章) 745.8 参考资源 74第6章 Promise(承诺)模式 756.1 Promise模式简介 756.2 Promise模式的架构 756.3 Promise模式实战案例解析 786.4 Promise模式的评价与实现考量 816.4.1 异步方法的异常处理 826.4.2 轮询 826.4.3 异步任务的执行 836.5 Promise模式的可复用实现代码 846.6 Java标准库实例 856.7 相关模式 856.7.1 Guarded Suspension模式(第4章) 856.7.2 Active Object模式(第8章) 866.7.3 Master-Slave模式(第12章) 866.7.4 Factory Method(工厂方法)模式 866.8 参考资源 86第7章 Producer-Consumer(生产者/消费者)模式 877.1 Producer-Consumer模式简介 877.2 Producer-Consumer模式的架构 877.3 Producer-Consumer模式实战案例解析 907.4 Producer-Consumer模式的评价与实现考量 937.4.1 产品的粒度 947.4.2 通道积压 947.4.3 非阻塞式反压与Reactive Streams规范 967.4.4 工作窃取算法 977.4.5 线程的停止 1017.4.6 高性能、高可靠性的Producer-Consumer模式实现 1017.5 Producer-Consumer模式的可复用实现代码 1027.6 Java标准库实例 1027.7 相关模式 1027.7.1 Guarded Suspension模式(第4章) 1027.7.2 Thread Pool模式(第9章) 1037.8 参考资源 103第8章 Active Object(主动对象)模式 1048.1 Active Object模式简介 1048.2 Active Object模式的架构 1058.3 Active Object模式实战案例解析 1088.4 Active Object模式的评价与实现考量 1158.4.1 错误隔离 1178.4.2 缓冲区监控 1188.4.3 缓冲区饱和处理策略 1188.4.4 Scheduler空闲工作者线程清理 1198.5 Active Object模式的可复用实现代码 1198.6 Java标准库实例 1238.7 相关模式 1238.7.1 Promise模式(第6章) 1238.7.2 Producer-Consumer模式(第7章) 1238.8 参考资源 124第9章 Thread Pool(线程池)模式 1259.1 Thread Pool模式简介 1259.2 Thread Pool模式的架构 1269.3 Thread Pool模式实战案例解析 1289.4 Thread Pool模式的评价与实现考量 1309.4.1 工作队列的选择 1319.4.2 线程池大小调校 1329.4.3 线程池监控 1349.4.4 线程泄漏 1359.4.5 可靠性与线程池饱和处理策略 1359.4.6 死锁 1389.4.7 线程池空闲线程清理 1399.5 Thread Pool模式的可复用实现代码 1409.6 Java标准库实例 1409.7 相关模式 1409.7.1 Two-phase Termination模式(第5章) 1409.7.2 Promise模式(第6章) 1419.7.3 Producer-Consumer模式(第7章) 1419.8 参考资源 141第10章 Thread Specific Storage(线程特有存储)模式 14210.1 Thread Specific Storage模式简介 14210.2 Thread Specific Storage模式的架构 14410.3 Thread Specific Storage模式实战案例解析 14610.4 Thread Specific Storage模式的评价与实现考量 14910.4.1 在线程池环境下使用Thread Specific Storage模式 15310.4.2 内存泄漏与伪内存泄漏 15310.5 Thread Specific Storage模式的可复用实现代码 16110.6 Java标准库实例 16110.7 相关模式 16210.7.1 Immutable Object模式(第3章) 16210.7.2 Proxy(代理)模式 16210.7.3 Singleton(单例)模式 16210.8 参考资源 162第11章 Serial Thread Confinement(串行线程封闭)模式 16311.1 Serial Thread Confinement模式简介 16311.2 Serial Thread Confinement模式的架构 16311.3 Serial Thread Confinement模式实战案例解析 16611.4 Serial Thread Confinement模式的评价与实现考量 17011.5 Serial Thread Confinement模式的可复用实现代码 17111.6 Java标准库实例 17611.7 相关模式 17711.7.1 Immutable Object模式(第3章) 17711.7.2 Promise模式(第6章) 17711.7.3 Producer-Consumer模式(第7章) 17711.7.4 Thread Specific Storage模式(第10章) 17711.8 参考资源 177第12章 Master-Slave(主仆)模式 17812.1 Master-Slave模式简介 17812.2 Master-Slave模式的架构 17812.3 Master-Slave模式实战案例解析 18012.4 Master-Slave模式的评价与实现考量 18712.4.1 子任务处理结果的收集 18812.4.2 Slave参与者实例的负载均衡与工作窃取 18912.4.3 可靠性与异常处理 19012.4.4 Slave线程的停止 19012.5 Master-Slave模式的可复用实现代码 19012.6 Java标准库实例 20412.7 相关模式 20412.7.1 Two-phase Termination模式(第5章) 20412.7.2 Promise模式(第6章) 20412.7.3 Strategy(策略)模式 20412.7.4 Template(模板)模式 20512.7.5 Factory Method(工厂方法)模式 20512.8 参考资源 205第13章 Pipeline(流水线)模式 20613.1 Pipeline模式简介 20613.2 Pipeline模式的架构 20713.3 Pipeline模式实战案例解析 21213.4 Pipeline模式的评价与实现考量 21913.4.1 Pipeline的深度 22013.4.2 基于线程池的Pipe 22013.4.3 错误处理 22313.4.4 可配置的Pipeline 22413.5 Pipeline模式的可复用实现代码 22413.6 Java标准库实例 23613.7 相关模式 23613.7.1 Serial Thread Confinement模式(第11章) 23613.7.2 Master-Slave模式(第12章) 23713.7.3 Composite模式 23713.8 参考资源 237第14章 Half-sync/Half-async(半同步/半异步)模式 23814.1 Half-sync/Half-async模式简介 23814.2 Half-sync/Half-async模式的架构 23814.3 Half-sync/Half-async模式实战案例解析 24014.4 Half-sync/Half-async模式的评价与实现考量 24914.4.1 队列积压 25014.4.2 避免同步任务层处理过慢 25114.5 Half-sync/Half-async模式的可复用实现代码 25114.6 Java标准库实例 25614.7 相关模式 25614.7.1 Two-phase Termination模式(第5章) 25614.7.2 Producer-Consumer模式(第7章) 25614.7.3 Active Object模式(第8章) 25614.7.4 Thread Pool模式(第9章) 25714.8 参考资源 257第15章 模式语言 25815.1 设计模式之间的联系 25815.2 Immutable Object模式 26015.3 Guarded Suspension模式 26115.4 Two-phase Termination模式 26215.5 Promise模式 26315.6 Producer-Consumer模式 26415.7 Active Object模式 26515.8 Thread Pool模式 26615.9 Thread Specific Storage模式 26715.10 Serial Thread Confinement模式 26815.11 Master-Slave模式 26915.12 Pipeline模式 27015.13 Half-sync/Half-async模式 271附录A 本书常用UML图指南 272参考文献 281
微信公众号

热门文章

更多