前言
多线程编程或者说范围更大的并发编程是一种非常复杂且容易出错的编程方式,但是我们为什么还要冒着风险艰辛地学习各种多线程编程技术、解决各种并发问题呢?
因为并发是整个分布式集群的基础,通过分布式集群不仅可以大大降低同等负载能力的价格,还能使整体可扩展到的负载能力上限大大提升。低廉的服务成本使互联网行业的创意井喷,任何一个人都有能力创建并维持一个服务于成百上千甚至数万人的应用服务;而极高的服务能力上限让无数业务的线上化成为了可能,大大拓宽了互联网技术与业务的边界。
在这个范围广大的并发技术领域当中多线程编程可以说是基础和核心,大多数抽象并发问题的构思与解决都是基于多线程模型来进行的。而且这些并发问题的本质都是相同的,不管是线程并发、进程并发还是服务器级别的并发都具有类似的特点、面临相似的问题,多线程编程正是我们切入这个领域、学习并发问题解决方案的最好途径。所以,在现在的计算机行业中,多线程编程不仅是Java程序员技术面试、进阶提高的重要知识领域,而且也是后端程序员敲开分布式系统实现大门的入场券。如果不能理解并发程序的特点与问题,那么就难以胜任分布式系统开发的工作。
很多小伙伴在面试时被多线程难住,今天就给大家推荐这本多线程编程实战指南(设计模式篇),它采用Java (JDK1.6)语言和UML (Unified Modeling Language)为描述语言,并结合作者多年工作经历的相关实战案例,)介绍了多线程环境下常用设计模式的来龙去脉:各个设计模式是什么样的及其典型的实际应用场景、实际应用时需要注意的相关事项以及各个模式的可复用代码实现。
下面是其中的部分内容
第1章 Jav多线程编程实战基础
有一定的多线程编程基础和工作经验的读者,也不妨继续往下看,看后或许会有新的发现。这一章的内容并非纯粹的理论“基础”它更加强调“ 实战’
第2章 设计模式简介
第3章Immutable object (不可变对象)模式
第4章Guarded Suspension ( 保护性暂挂)模式
第5章Iwo-phase Termination (两阶段终止)模式
第6章Promise (承诺)模式
第七章Producer-Consumer (生产者/消费者)模式
第八章Active object (主动对象)模式
第9章Thread Pool (线程地)模式
第10章Thread Specifie Storage (线程特有存储)模式
第十一章Serial Thread Confinement (串行线程封闭)模式
第12章Master-Slave (主仆)模式
第13章Pipeline (流水线)模式
第14章Ha1f-syn.c/Half-async (半同步/半异步)模式
、