图解多线程设计模式pdf_图解Java多线程设计模式 PDF 全书扫描版

序章1 Java线程 1

I1.1 Java线程 2

I1.2 何谓线程 2

明为跟踪处理流程,实为跟踪线程 2

单线程程序 3

多线程程序 4

Thread类的run方法和start方法 5

I1.3 线程的启动 9

线程的启动(1)——利用Thread类的子类 9

线程的启动(2)——利用Runnable接口 10

I1.4 线程的暂停 12

I1.5 线程的互斥处理 13

synchronized方法 14

synchronized代码块 17

I1.6 线程的协作 18

等待队列——线程休息室 19

wait方法——将线程放入等待队列 19

notify方法——从等待队列中取出线程 21

notifyAll方法——从等待队列中取出所有线程 23

wait、notify、notifyAll是Object类的方法 24

I1.7 线程的状态迁移 24

I1.8 线程相关的其他话题 26

I1.9 本章所学知识 26

I1.10 练习题 26

序章2 多线程程序的评价标准 31

I2.1 多线程程序的评价标准 32

安全性——不损坏对象 32

生存性——必要的处理能够被执行 32

可复用性——类可重复利用 33

性能——能快速、大批量地执行处理 33

评价标准总结 33

I2.2 本章所学知识 34

I2.3 练习题 34

第1章 Single Threaded Execution模式——能通过这座桥的只有一个人 35

1.1 Single Threaded Execution模式 36

1.2 示例程序1:不使用Single Threaded Execution模式的程序 36

Main类 37

非线程安全的Gate类 37

UserThread类 38

执行起来看看……出错了 39

为什么会出错呢 40

1.3 示例程序2:使用Single Threaded Execution模式的程序 41

线程安全的Gate类 41

synchronized的作用 42

1.4 Single Threaded Execution模式中的登场角色 43

1.5 拓展思路的要点 44

何时使用(可使用Single Threaded Execution模式的情况) 44

生存性与死锁 45

可复用性和继承反常 46

临界区的大小和性能 46

1.6 相关的设计模式 47

Guarded Suspension模式 47

Read-Write Lock模式 47

Immutable模式 47

Thread-Specific Storage模式 48

1.7 延伸阅读1:关于synchronized 48

synchronized语法与Before/After模式 48

synchronized在保护着什么 49

该以什么单位来保护呢 50

使用哪个锁保护 50

原子操作 51

long与double的操作不是原子的 51

1.8 延伸阅读2:java.util.concurrent包和计数信号量 52

计数信号量和Semaphore类 52

使用Semaphore类的示例程序 52

1.9 本章所学知识 55

1.10 练习题 55

第2章 Immutable模式——想破坏也破坏不了 61

2.1 Immutable模式 62

2.2 示例程序 62

使用Immutable模式的Person类 62

Main类 63

PrintPersonThread类 63

2.3 Immutable模式中的登场角色 65

2.4 拓展思路的要点 66

何时使用(可使用Immutable模式的情况) 66

考虑成对的mutable类和immutable类 [性能] 66

为了确保不可变性 [可复用性] 67

标准类库中用到的Immutable模式 67

2.5 相关的设计模式 69

Single Threaded Execution模式 69

Read-Write Lock模式 69

Flyweight模式 69

2.6 延伸阅读1:final 69

final的含义 69

2.7 延伸阅读2:集合类与多线程 71

示例1:非线程安全的java.util.ArrayList类 71

示例2:利用Collections.synchronizedList方法所进行的同步 74

示例3:使用copy-on-write的java.util.concurrent.CopyOnWriteArrayList类 75

2.8 本章所学知识 76

2.9 练习题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书浅显易懂的介绍了JAVA线程相关的设计模式,通过程序范例和UML图示来一一解说,书中代码的重要部分加了标注以使读者更加容易理解,再加上图文并茂,对于初学者还是程序设计高手来说,这都是一本学习和认识JAVA设计模式的一本好书。(注意,本资源附带书中源代码可供参考) 多线程与并发处理是程序设计好坏优劣的重要课题,本书通过浅显易懂的文字与实例来介绍Java线程相关的设计模式概念,并且通过实际的Java程序范例和 UML图示来一一解说,书中在代码的重要部分加上标注使读者更加容易解读,再配合众多的说明图解,无论对于初学者还是程序设计高手来说,这都是一本学习和认识设计模式非常难得的好书。 书中包含Java线程的介绍导读、12个重要的线程设计模式全书总结以及丰富的附录内容。第一章相关线程设计模式的介绍,都举一反三使读者学习更有效。最后附上练习问题,让读者可以温故而知新,能快速地吸收书中的精华,书中最后附上练习问题解答,方便读者学习验证。 目录 漫谈UML UML 类图 类和层次结构的关系 接口与实现 聚合 访问控制 类间的关联性 顺序图 处理流程和对象间的协调 时序图 Introduction 1 Java语言的线程 Java语言的线程 何谓线程 明为追踪处理流程,实则追踪线程 单线程程序 多线程程序 Thread类的run方法和start方法 线程的启动 线程的启动(1)——利用Thread类的子类 线程的启动(2)——利用Runnable接口 线程的暂时停止 线程的共享互斥 synchronized方法 synchronized阻挡 线程的协调 wait set——线程的休息室 wait方法——把线程放入wait set notify方法——从wait set拿出线程 notifyAll方法——从wait set拿出所有线程 wait、notify、notifyAll是Object类的方法 线程的状态移转 跟线程有关的其他话题 重点回顾 练习问题 Introduction 2 多线程程序的评量标准 多线程程序的评量标准 安全性——不损坏对象 生存性——进行必要的处理 复用性——可再利用类 性能——能快速、大量进行处理 评量标准的总结 重点回顾 练习问题 第1章 Single Threaded Execution——能通过这座桥的,只有一个人 第2章 Immutable——想破坏它也没办法 第3章 Guarded Suspension——要等到我准备好喔 第4章 Balking——不需要的话,就算了吧 第5章 Producer-Consumer——我来做,你来用 第6章 Read-Write Lock——大家想看就看吧,不过看的时候不能写喔 第7章 read-Per-Message——这个工作交给你了 第8章 Worker Thread——等到工作来,来了就工作 第9章 Future——先给您这张提货单 第10章 Two-Phase Termination——快把玩具收拾好,去睡觉吧 第11章 Thread-Specific Storage——每个线程的保管箱 第12章 Active Object——接受异步消息的主动对象 总结 多线程程序设计的模式语言 附录A 练习问题的解答 附录B Java的内存模型 附录C Java线程的优先级 附录D 线程相关的主要API 附录E 参考文献
1) 优秀的程序应该是这样的:阅读时,感觉很优雅;新增功能时,感觉很轻松;运行时,感觉很快速,这就需要设计模式支撑。2) 设计模式包含了大量的编程思想,讲授和真正掌握并不容易,网上的设计模式课程不少,大多讲解的比较晦涩,没有真实的应用场景和框架源码支撑,学习后,只知其形,不知其神。就会造成这样结果: 知道各种设计模式,但是不知道怎么使用到真实项目。本课程针对上述问题,有针对性的进行了升级 (1) 授课方式采用 图解+框架源码分析的方式,让课程生动有趣好理解 (2) 系统全面的讲解了设计模式,包括 设计模式七大原则、UML类图-类的六大关系、23种设计模式及其分类,比如 单例模式的8种实现方式、工厂模式的3种实现方式、适配器模式的3种实现、代理模式的3种方式、深拷贝等3) 如果你想写出规范、漂亮的程序,就花时间来学习下设计模式吧课程内容和目标本课程是使用Java来讲解设计模式,考虑到设计模式比较抽象,授课采用 图解+框架源码分析的方式1) 内容包括: 设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和实现、类的关联、聚合和组合) 23种设计模式包括:创建型模式:单例模式(8种实现)、抽象工厂模式、原型模式、建造者模式、工厂模式。结构型模式:适配器模式(3种实现)、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式(3种实现)。行为型模式:模方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)2) 学习目标:通过学习,学员能掌握主流设计模式,规范编程风格,提高优化程序结构和效率的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值