“设计模式”一词也常常会让开发人员感到畏惧。其实设计模式不过是对代码设计方式的总结和归纳。在我们的代码中,设计模式无处不在,只是我们没有注意到它们而已。善用设计模式可以帮助我们编写出具有高可复用性且松耦合的代码。
那么,将“多线程”与“设计模式”这两个主题放在一起, 恐怕会让许多读者望而却步吧。但是软件开发就是这么一件有趣的事情一-随 着我们心中的恐惧与日俱增,想要试着挑战的心情也会越来越迫切。
小编特意整理出来了一本关于Java多线程设计模式方面的书籍,分享给大家来学习,文末有彩蛋哦!(23种设计模式)
多线程与并发处理是程序设计好坏优劣的重要课题,本书通过浅显易懂的文字与实例来介绍与Java线程相关的设计模式理念,并且通过实际的Java程序范例和UML图示来一一解说,书中在程序代码的重要部分加上标注使读者更加容易解读。再配合众多的说明图解,无论对于初学者还是程序设计高手来说,这都是学习和认识设计模式的一本非常难得的参考书。
帮忙转发,关注小编,私信“设计模式”就能获得本文档的免费领取方式了哦
全书分为漫谈UML、Introduction1 Java语言的线程、Introduction2多线程程序的评量标准、第一章SingleThreaded Execution、第二章Immutable、第三章GuardedSuspension、第四章Balking、第五章Producer-Consumer、第六章Read-Write Lock、第七章Thread-Per-Message、第八章Worker Thread、第九章Future、第十章Two-PhaseTermination、第十一章Thread-pecfic Storage、第十二章Active Objec、总结多线程程序 设计的模式语言
漫谈UML
UML是一种以可视化的观点来看程序系统,将规格和设计重点直接写下来的表现方式。UML是Unified Modeling Language的缩写。中文译成“统一建模语言”。
Introduction1 Java语言的线程
●何谓线程.
单线程与多线程、Thread 类、run方法和start方法
●线程的启动
Thread类、Runnable 接口
●线程的暂时停止
sleep方法
●线程的共享互斥
synchronized方法、synchronized 语句和锁定
●线程的协调
Introduction2多线程程序的评量标准
如果你对一个程序的评价方式还停留在“这个程序写得不错”、“这个程序写得太差”的程度,这样很难看出你是否确实分析了程序的构造。第一章SingleThreaded Execution
第一章SingleThreaded Execution
Single Threaded Execution是指“以1个线程执行”的意思。就像细独木桥只能允许一个人通行一样,这个Patterm用来限制同时只让-一个线程运行。
第二章Immutable
immutable是“永恒的”、“不会改变的”的意思。在Immutable Patterm中,有着能够保证实例状态绝不会改变的类( immutable类)。因为访问这个实例时,可以省去使用共享互斥机制所会浪费的时间,故若能妥善运用,将能提高程序的性能。
第三章GuardedSuspension
guarded是“被保护着的”、“被防卫着的”的意思,suspension 则是“暂停”的意思。当现在并不适合马上执行某个操作时,就要求先要执行该操作的线程等待,这就是Guarded Suspension Pattern。
第四章Balking
当现在不适合进行这个操作,或是没有必要进行这个操作时,就直接放弃进行这个操作而回去,这就是Balking Pattern。
第五章Producer-Consumer
producer是“生产者”的意思,是指产生数据的线程。而consumer是“消费者的意思,意指使用数据的线程。
第六章Read-Write Lock
当线程“读取”实例的状态时,实例的状态不会变化。会使实例状态变化的,只有线程对线程“写入”的操作而已。把视点放在实例状态变化的角度来看时,“读取”与“写入”本身是不同的东西。
第七章Thread-Per-Message
per是“每一”的意思。所以thread per message解释过来就是“每个消息一个线程”。message在这里可以看作是“命令”或“请求”的意思。对每个命令或请求,分配一个线程,由这个线程执行工作,这就是Thread-Per-Message Patterm。
第八章Worker Thread
worker是“工人”的意思。Worker Thread Pattern中,工人线程( worker thread )会依次抓一件工作来处理。当没有工作可作时,工人线程会停下来等待新的工作过来。
帮忙转发,关注小编,私信“设计模式”就能获得本文档的免费领取方式了哦
第九章Future
第十章Two-PhaseTermination
future是“未来”、“(经济学用语上)期货”的意思。
第十一章Thread-pecfic Storage
specific有“独有的”的意义,而storage则有“储藏库”、“存储设备”的意义。所以Thread-SpecificeStorage就是“线程独有的储藏库”、“针对每个线程提供的内存空间”的意义。
第十二章Active Objec
active是“主动的"的意思,所以active object 是“主动对象”的意思。主动的”一般是指“自己拥有独立的线程”的意思。所以Java的java.lang.Thread类的实例,也是-种主动对象。
帮忙转发,关注小编,私信“设计模式”就能获得本文档的免费领取方式了哦
总结 多线程程序 设计的模式语言
在这一章中,将以模式语言的形式,回顾一下在本书所学到的12个Pattern。
由于篇幅限制而且不影响大家的阅读体验,小编在这里只给大家展示文章目录及部分内容。
彩蛋
23种设计模式详解视频