内容简介
随着CPU多核时代的到来,多线程编程在充分利用计算资源、提高软件服务质量方面扮演了越来越重要的角色。解决多线程编程中频繁出现的普遍问题可以借鉴设计模式所提供的现成解决方案。然而,多线程编程相关的设计模式图书多采用C++作为描述语言,且书中所举的例子多与应用开发人员的实际工作相去甚远。本书采用Java语言和UML为描述语言,并结合作者多年工作经历及相关实践经验,介绍了多线程环境下常用设计模式的来龙去脉:各个设计模式是什么样的、典型的实际应用场景、实际应用时需要注意的事项及各个设计模式的可复用代码实现。本书第2版除更正了第1版中的错误外,还新增了JDK 8、JDK 9中与多线程设计模式相关的内容,并对代码进行了重构和重新排版,使代码部分重点更突出、更易于阅读,以及提高了插图的清晰度。
AI简介
这是一本以Java语言和UML为描述语言,针对多线程编程中频繁出现的普遍问题,提供了现成解决方案的书籍。本书采用了设计模式作为解决这些问题的工具,并通过对Java线程的概念和重要性、设计模式的描述格式和本书描述方式、解决多线程编程问题的设计模式、线程池模式的核心思想、支持关系在模式语言中的应用、变体关系在模式语言中的应用、内存可见性、重排序、原子性等关键内容点的深入讲解,为读者提供了丰富的知识和实践指导。
本书的内容分为16章,包括Java多线程编程实战基础、设计模式简介、Immutable Object(不可变对象)模式、Guarded Suspension(保护性暂挂)模式、Two-phase Termination(两阶段终止)模式、Promise(承诺)模式、Producer-Consumer(生产者/消费者)模式、Active Object(主动对象)模式、Thread Pool(线程池)模式、Thread Specific Storage(线程特有存储)模式、Serial Thread Confinement(串行线程封闭)模式、Master-Slave(主仆)模式、Pi