¥ 1.51 八五品
库存2件
作者黄文海 著
出版社电子工业出版社
出版时间2015-10
版次1
装帧平装
上书时间2024-07-22
黄文海,2004年开始从事软件开发工作,近几年从事软件项目管理工作。在其工作过程中积累了丰富的技术指导经验和企业内部培训经验。曾在InfoQ中文站和IBMdeveloperWorks上发表过十几篇技术、项目管理文章。
第1章 Java多线程编程实战基础1
1.1 无处不在的线程1
1.2 线程的创建与运行2
1.3 线程的状态与上下文切换5
1.4 线程的监视7
1.5 原子性、内存可见性和重排序――重新认识synchronized和volatile10
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 基于线程池的Pipe209
13.4.3 错误处理212
13.4.4 可配置的Pipeline212
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
— 没有更多了 —
以下为对购买帮助不大的评价