在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Java语言基础 → 《Java多线程编程实战指南(设计模式篇)》源码

《Java多线程编程实战指南(设计模式篇)》源码

Java语言基础

下载此实例
  • 开发语言:Java
  • 实例大小:2.49M
  • 下载次数:47
  • 浏览次数:1148
  • 发布时间:2018-08-20
  • 实例类别:Java语言基础
  • 发 布 人:crazycode
  • 文件格式:.zip
  • 所需积分:2

实例介绍

【实例简介】

【实例截图】

from clipboard

【核心代码】

##【目录】

第1章 Java多线程编程实战基础 1

1.1 无处不在的线程 1

1.2 线程的创建与运行 2

1.3 线程的状态与上下文切换 5

1.4 线程的监视 7

1.5 原子性、内存可见性和重排序——重新认识synchronized和volatile 10

1.6 线程的优势和风险 11

1.7 多线程编程常用术语 13

第2章 设计模式简介 17

2.1 设计模式及其作用 17

2.2 多线程设计模式简介 20

2.3 设计模式的描述 21

第3章 Immutable Object(不可变对象)模式 23

3.1 Immutable Object模式简介 23

3.2 Immutable Object模式的架构 25

3.3 Immutable Object模式实战案例 27

3.4 Immutable Object模式的评价与实现考量 31

3.5 Immutable Object模式的可复用实现代码 32

3.6 Java标准库实例 32

3.7 相关模式 34

3.7.1 Thread Specific Storage模式(第10章) 34

3.7.2 Serial Thread Confinement模式(第11章) 34

3.8 参考资源 34

第4章 Guarded Suspension(保护性暂挂)模式 35

4.1 Guarded Suspension模式简介 35

4.2 Guarded Suspension模式的架构 35

4.3 Guarded Suspension模式实战案例解析 39

4.4 Guarded Suspension模式的评价与实现考量 45

4.4.1 内存可见性和锁泄漏(Lock Leak) 46

4.4.2 线程过早被唤醒 46

4.4.3 嵌套监视器锁死 47

4.5 Guarded Suspension模式的可复用实现代码 50

4.6 Java标准库实例 50

4.7 相关模式 51

4.7.1 Promise模式(第6章) 51

4.7.2 Producer-Consumer模式(第7章) 51

4.8 参考资源 51

第5章 Two-phase Termination(两阶段终止)模式 52

5.1 Two-phase Termination模式简介 52

5.2 Two-phase Termination模式的架构 53

5.3 Two-phase Termination模式实战案例 56

5.4 Two-phase Termination模式的评价与实现考量 63

5.4.1 线程停止标志 63

5.4.2 生产者-消费者问题中的线程停止 64

5.4.3 隐藏而非暴露可停止的线程 65

5.5 Two-phase Termination模式的可复用实现代码 65

5.6 Java标准库实例 66

5.7 相关模式 66

5.7.1 Producer-Consumer模式(第7章) 66

5.7.2 Master-Slave模式(第12章) 66

5.8 参考资源 66

第6章 Promise(承诺)模式 67

6.1 Promise模式简介 67

6.2 Promise模式的架构 68

6.3 Promise模式实战案例解析 70

6.4 Promise模式的评价与实现考量 74

6.4.1 异步方法的异常处理 75

6.4.2 轮询(Polling) 75

6.4.3 异步任务的执行 75

6.5 Promise模式的可复用实现代码 77

6.6 Java标准库实例 77

6.7 相关模式 78

6.7.1 Guarded Suspension模式(第4章) 78

6.7.2 Active Object模式(第8章) 78

6.7.3 Master-Slave模式(第12章) 78

6.7.4 Factory Method模式 78

6.8 参考资源 79

第7章 Producer-Consumer(生产者/消费者)模式 80

7.1 Producer-Consumer模式简介 80

7.2 Producer-Consumer模式的架构 80

7.3 Producer-Consumer模式实战案例解析 83

7.4 Producer-Consumer模式的评价与实现考量 87

7.4.1 通道积压 87

7.4.2 工作窃取算法 88

7.4.3 线程的停止 92

7.4.4 高性能高可靠性的Producer-Consumer模式实现 92

7.5 Producer-Consumer模式的可复用实现代码 92

7.6 Java标准库实例 93

7.7 相关模式 93

7.7.1 Guarded Suspension模式(第4章) 93

7.7.2 Thread Pool模式(第9章) 93

7.8 参考资源 93

第8章 Active Object(主动对象)模式 94

8.1 Active Object模式简介 94

8.2 Active Object模式的架构 95

8.3 Active Object模式实战案例解析 98

8.4 Active Object模式的评价与实现考量 105

8.4.1 错误隔离 107

8.4.2 缓冲区监控 108

8.4.3 缓冲区饱和处理策略 108

8.4.4 Scheduler空闲工作者线程清理 109

8.5 Active Object模式的可复用实现代码 109

8.6 Java标准库实例 111

8.7 相关模式 112

8.7.1 Promise模式(第6章) 112

8.7.2 Producer-Consumer模式(第7章) 112

8.8 参考资源 112

第9章 Thread Pool(线程池)模式 113

9.1 Thread Pool模式简介 113

9.2 Thread Pool模式的架构 114

9.3 Thread Pool模式实战案例解析 116

9.4 Thread Pool模式的评价与实现考量 117

9.4.1 工作队列的选择 118

9.4.2 线程池大小调校 119

9.4.3 线程池监控 121

9.4.4 线程泄漏 122

9.4.5 可靠性与线程池饱和处理策略 122

9.4.6 死锁 125

9.4.7 线程池空闲线程清理 126

9.5 Thread Pool模式的可复用实现代码 127

9.6 Java标准库实例 127

9.7 相关模式 127

9.7.1 Two-phase Termination模式(第5章) 127

9.7.2 Promise模式(第6章) 127

9.7.3 Producer-Consumer模式(第7章) 127

9.8 参考资源 128

第10章 Thread Specific Storage(线程特有存储)模式 129

10.1 Thread Specific Storage模式简介 129

10.2 Thread Specific Storage模式的架构 131

10.3 Thread Specific Storage模式实战案例解析 133

10.4 Thread Specific Storage模式的评价与实现考量 135

10.4.1 线程池环境下使用Thread Specific Storage模式 138

10.4.2 内存泄漏与伪内存泄漏 139

10.5 Thread Specific Storage模式的可复用实现代码 145

10.6 Java标准库实例 146

10.7 相关模式 146

10.7.1 Immutable Object模式(第3章) 146

10.7.2 Proxy(代理)模式 146

10.7.3 Singleton(单例)模式 146

10.8 参考资源 147

第11章 Serial Thread Confinement(串行线程封闭)模式 148

11.1 Serial Thread Confinement模式简介 148

11.2 Serial Thread Confinement模式的架构 148

11.3 Serial Thread Confinement模式实战案例解析 151

11.4 Serial Thread Confinement模式的评价与实现考量 155

11.4.1 任务的处理结果 155

11.5 Serial Thread Confinement模式的可复用实现代码 156

11.6 Java标准库实例 160

11.7 相关模式 160

11.7.1 Immutable Object模式(第3章) 160

11.7.2 Promise模式(第6章) 160

11.7.3 Producer-Consumer模式(第7章) 160

11.7.4 Thread Specific Storage(线程特有存储)模式 (第10章) 161

11.8 参考资源 161

第12章 Master-Slave(主仆)模式 162

12.1 Master-Slave模式简介 162

12.2 Master-Slave模式的架构 162

12.3 Master-Slave模式实战案例解析 164

12.4 Master-Slave模式的评价与实现考量 171

12.4.1 子任务的处理结果的收集 172

12.4.2 Slave参与者实例的负载均衡与工作窃取 173

12.4.3 可靠性与异常处理 173

12.4.4 Slave线程的停止 174

12.5 Master-Slave模式的可复用实现代码 174

12.6 Java标准库实例 186

12.7 相关模式 186

12.7.1 Two-phase Termination模式(第5章) 186

12.7.2 Promise模式(第6章) 186

12.7.3 Strategy(策略)模式 186

12.7.4 Template(模板)模式 186

12.7.5 Factory Method(工厂方法)模式 186

12.8 参考资源 187

第13章 Pipeline(流水线)模式 188

13.1 Pipeline模式简介 188

13.2 Pipeline模式的架构 189

13.3 Pipeline模式实战案例解析 194

13.4 Pipeline模式的评价与实现考量 208

13.4.1 Pipeline的深度 209

13.4.2 基于线程池的Pipe 209

13.4.3 错误处理 212

13.4.4 可配置的Pipeline 212

13.5 Pipeline模式的可复用实现代码 212

13.6 Java标准库实例 222

13.7 相关模式 222

13.7.1 Serial Thread Confinement模式(第11章) 222

13.7.2 Master-Slave模式(第12章) 222

13.7.3 Composite模式 223

13.8 参考资源 223

第14章 Half-sync/Half-async(半同步/半异步)模式 224

14.1 Half-sync/Half-async模式简介 224

14.2 Half-sync/Half-async模式的架构 224

14.3 Half-sync/Half-async模式实战案例解析 226

14.4 Half-sync/Half-async模式的评价与实现考量 234

14.4.1 队列积压 235

14.4.2 避免同步层处理过慢 235

14.5 Half-sync/Half-async模式的可复用实现代码 236

14.6 Java标准库实例 240

14.7 相关模式 240

14.7.1 Two-phase Termination模式(第5章) 240

14.7.2 Producer-Consumer模式(第7章) 241

14.7.3 Active Object模式(第8章) 241

14.7.4 Thread Pool模式(第9章) 241

14.8 参考资源 241

第15章 模式语言 242

15.1 模式与模式间的联系 242

15.2 mmutable Object(不可变对象)模式 244

15.3 Guarded Suspension(保护性暂挂)模式 244

15.4 Two-phase Termination(两阶段终止)模式 245

15.5 Promise(承诺)模式 246

15.6 Producer-Consumer(生产者/消费者)模式 247

15.7 Active Object(主动对象)模式 248

15.8 Thread Pool(线程池)模式 249

15.9 Thread Specific Storage(线程特有存储)模式 250

15.10 Serial Thread Confinement(串行线程封闭)模式 251

15.11 Master-Slave(主仆)模式 252

15.12 Pipeline(流水线)模式 253

15.13 Half-sync/Half-async(半同步/半异步)模式 254

附录 本书常用UML图指南 255

A.1 UML简介 255

A.2 类图(Class Diagram) 256

A.1.1 类的属性、方法和立体型(Stereotype) 256

A.1.2 类与类之间的关系 258

A.3 序列图(Sequence Diagram) 261

参考文献 263

实例下载地址

《Java多线程编程实战指南(设计模式篇)》源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警