图书介绍
Java多线程设计模式【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (日)结城浩著;博硕文化译 著
- 出版社: 北京:中国铁道出版社
- ISBN:7113064027
- 出版时间:2005
- 标注页数:493页
- 文件大小:19MB
- 文件页数:510页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Java多线程设计模式PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
漫谈UML1
UML2
类图2
类和层次结构的关系2
接口与实现3
聚合4
访问控制5
类间的关联性5
顺序图6
处理流程和对象间的协调6
时序图7
Introduction 1 Java语言的线程9
Java语言的线程10
何谓线程10
明为追踪处理流程,实则追踪线程10
单线程程序11
多线程程序12
Thread类的run方法和start方法13
线程的启动17
线程的启动(1)——利用Thread类的子类17
线程的启动(2)——利用Runnable接口19
线程的暂时停止21
线程的共享互斥22
synchronized方法23
synchronized阻挡27
线程的协调28
wait set——线程的休息室29
wait方法——把线程放入wait set29
notify方法——从wait set拿出线程31
notifyAll方法——从wait set拿出所有线程33
wait、notify、notifyAll是Object类的方法34
线程的状态移转35
跟线程有关的其他话题36
重点回顾36
练习问题37
Introduction 2 多线程程序的评量标准41
多线程程序的评量标准42
安全性——不损坏对象42
生存性——进行必要的处理42
复用性——可再利用类43
性能——能快速、大量进行处理43
评量标准的总结44
重点回顾44
练习问题44
第1章 Single Threaded Execution——能通过这座桥的,只有一个人47
Single Threaded Execution Pattern48
范例程序1:不使用Single Threaded Execution Pattern的范例48
并非线程安全(thread-safe)的Gate类49
Main类49
UserThread类51
执行看看……果然出错了51
为什么会出错呢53
范例程序2:使用Single Threaded Execution Pattern的范例54
线程安全的Gate类55
synchronized所扮演的角色55
Single Threaded Execution Patttern的所有参与者57
扩展思考方向的提示58
何时使用(适用性)58
生命性与死锁59
临界区的大小与执行性能60
可重用性与继承异常60
相关Pattern61
Guarded Suspension Pattern(第3章)61
Read-Write Lock Pattern(第6章)61
Immutable Pattern(第2章)61
Thread-Specific Storage Pattern(第11章)62
进阶说明:关于synchronized62
synchronized语法与Before/AfterPattern62
这个synchronized在保护什么64
该以什么单位来保护呢64
原子的操作65
long与double并不是原子的65
获取谁的锁定来保护的呢65
重点回顾67
练习问题67
第2章 Immutable——想破坏它也没办法75
Immutable Pattern76
范例程序76
使用Immutable Pattern的Person类76
Main类77
PrintPersonThread类78
Immutable Pattern的所有参与者80
何时使用(适用性)81
思考成对的mutable类与immutable类[执行性能]81
扩展思考方向的提示81
为了保护类的不变性[复用性]82
标准类链接库里使用到的Immutable Pattern83
相关Pattern84
Single Threaded Execution Pattern(第1章)84
Read-Write Lock Pattern(第6章)84
Flyweight Pattern(参考附录E[GoF][Yuki01])84
进阶说明:final85
重点回顾86
练习问题86
第3章 Guarded Suspension——要等到我准备好喔93
Guarded Suspension Pattern94
范例程序94
Request类95
RequestQueue类96
ClientThread类97
ServerThread类98
Main类99
java.util.LinkedList类的操作100
仔细分析getRequest方法100
仔细分析putRequest方法102
synchronized的意义102
wait与锁定103
Guarded SuspensionPattern的所有参与者103
多线程版的if104
有条件的synchronized104
扩展思考方向的提示104
忘记更改状态与生命性105
wait与notify/notifyAll的责任[复用性]105
各种各样的称呼105
相关Pattern107
Single Threaded Execution Pattern(第1章)107
Balking Pattern(第4章)107
Producer-Consumer Pattern(第5章)107
Future Pattern(第9章)107
重点回顾107
练习问题108
第4章 Balking——不需要的话,就算了吧115
范例程序116
Balking Pattern116
Data类117
SaverThread类119
ChangerThread类119
Main类120
Balking Pattern的所有参与者122
扩展思考方向的提示123
何时使用(适用性)123
表达balk结果的方式124
进阶说明:timeout125
wait的结束是什么时候125
Balking Pattern与Guarded Suspension Pattern的中间125
Guarded Suspension Pattern(第3章)125
Observer Pattern(参考附录E[GoF][Yuki01])125
相关Pattern125
guarded timed的实现126
synchronized没有timeout,也不能中断129
重点回顾129
练习问题130
第5章 Producer-Consumer——我来做,你来用135
Producer-Consumer Pattern136
范例程序136
MakerThread类137
Main类137
EaterThread类138
Table类139
分析put方法141
分析take方法142
Producer-ConsumerPattern的所有参与者144
扩展思考方向的提示145
保护安全性的Channel参与者[复用性]145
不能直接传递吗145
Channel参与者负荷派生的问题146
要以什么顺序传递Data参与者146
[中间者的存在]隐含的意义147
只有一个Consumer参与者时会如何148
相关Pattern148
Mediator Pattern(参考附录E[GoF][Yuki01])148
Worker Thread Pattern(第8章)149
CommandPattern(参考附录E[GoF][Yuki01])149
Strategy Pattern(参考附录E[GoF][Yuki01])149
进阶说明:InterruptedException异常149
可能会花一些时间,但是可以取消掉149
后面接着throws InterruptedException的方法149
sleep方法与interrupt方法150
join方法与interrupt方法151
interrupt方法只是改变中断状态而已151
wait方法与interrupt方法151
isInterrupted方法——检查中断状态152
Thread.interrupted方法——检查并清除中断状态153
Thread类的stop方法不能使用153
重点回顾153
练习问题154
第6章 Read-Write Lock——大家想看就看吧,不过看的时候不能写喔159
Read-Write Lock Pattern160
范例程序160
Main类161
Data类161
WriterThread类164
ReaderThread类165
ReadWriteLock类166
执行结果169
检验警戒条件170
Read-Write Lock Pattern的所有参与者171
扩展思考方向的提示172
利用同时“读取”不会冲突的特性,提高程序的性能172
适合读取操作繁重时172
适合读取比写入次数频繁时173
锁定的意义173
相关Pattern173
Immutable Pattern(第2章)。173
重点回顾174
Strategized Locking Pattern(参考附录E[POSA2])174
Single Threaded Execution Pattern(第1章)174
Guarded Suspension Pattern(第3章)174
Before/After Pattern(参考附录E[Lea])174
练习问题175
第7章 Thread-Per-Message——这个工作交给你了181
Thread-Per-Message Pattern182
范例程序182
Main类183
Host类183
Helper类184
Thread-Per-Message Pattern的所有参与者187
提升响应性,降低延迟时间188
扩展思考方向的提示188
适合在操作顺序无所谓时使用189
不需要返回值的时候189
应用在服务器的制作189
调用方法+启动线程→传送消息189
相关Pattern190
Future Pattern(第9章)190
Worker Thread Pattern(第8章)190
进阶说明:进程与线程190
重点回顾191
练习问题192
第8章 Worker Thread——等到工作来,来了就工作199
范例程序200
Worker Thread Pattern200
Main类202
ClientThread类202
Request类203
Channel类204
WorkerThread类205
Worker Thread Pattern的所有参与者207
启动线程是繁重的操作209
控制承载量209
扩展思考方向的提示209
invocation与execution的分离210
Runnable接口的意义211
多态的Request参与者211
只有一条Worker参与者212
相关Pattern213
Producer-ConsumerPattern(第5章)213
Thread-Per-Message Pattern(第7章)213
Command Pattern(参考附录E[GoF][Yuki01])213
Future Pattern(第9章)213
Flyweight Pattern(参考附录E[GoF][Yuki01])213
何谓Event-Dispatching Thread214
进阶说明:Swing的Event-Dispatching Thread214
Thread-Specific Storage Pattern(第11章)214
Active Object Pattern(第12章)214
Event-dispatching thread只有一条215
Event-dispatching thread会调用Listener215
注册Listener的意义217
Event-dispatching thread也处理画面的重绘217
javax.swing.SwingUtilities类217
Swing的单线程规则218
重点回顾219
练习问题219
第9章 Future——先给您这张提货单225
范例程序226
Future Pattern226
Main类228
Host类229
Data接口231
FutureData类231
RealData类232
Future Pattern的所有参与者234
扩展思考方向的提示236
能够提升throughput吗236
异步方法调用的“返回值”236
变形——会改变的Future参与者237
变形——不让人等待的Future参与者237
分离“准备返回值”与“使用返回值”237
谁需要考虑到多线程[复用性]238
回调与Future Pattern238
相关Pattern239
Thread-Per-Message Pattern(第7章)239
Builder Pattern(参考附录E[GoF][Yuki01])239
Proxy Pattern(参考附录E[GoF][Yuki01])239
Guarded Suspension Pattern(第3章)239
重点回顾239
练习问题240
第10章 Two-Phase Termination——快把玩具收拾好,去睡觉吧247
Two-Phase Termination Pattern248
范例程序249
CountupThread类250
Main类252
Two-Phase Termination Pattern的所有参与者254
扩展思考方向的提示255
不可以使用Thread类的stop方法255
只检查标识是不够周全的256
只测试中断状态也是不够的256
进行繁重的处理前,先检查终止请求257
join方法与isAlive方法257
程序的结束与addShutdownHook方法257
Multiphase Cancellation Pattern(参考附录E[Lea])259
Before/After Pattern(参考附录E[Lea])259
优雅终止的线程259
相关Pattern259
Multi-Phase StartupPattern260
Balking Pattern(第4章)260
进阶说明:中断状态与InterruptedException异常的相互转换260
中断状态→InterruptedException异常的转换260
InterruptedException异常→转换为中断状态261
InterruptedException异常→转换为InterruptedException异常262
重点回顾262
练习问题263
第11章 Thread-Specific Storage——每个线程的保管箱273
java.lang.ThreadLocal是保管箱间274
Thread-Specific StoragePattern274
关于java.lang.ThreadLocal类274
范例程序1:没有使用Thread-Specific Storage Pattern的范例275
Log类276
Main类277
范例程序2:使用Thread-Specific Storage Pattern的范例278
线程特有的TSLog类278
Log类280
ClientThread类281
Main类282
Thread-Specific Storage Pattern的所有参与者283
局部变量与java.lang.ThreadLocal类286
扩展思考方向的提示286
放置线程特有信息的地方287
不必担心被其他线程访问288
throughput的提升取决于实现288
隐藏context的危险性289
相关Pattern289
Singleton Pattern(参考附录E[GoF][Yuki01])289
WorkerThread Pattern(第8章)290
Single Threaded Execution Pattern(第1章)290
Proxy Pattern(参考附录E[GoF][Yuki01])290
进阶说明:Actor-based与Task-based290
主体与客体290
Task-based的思维291
Actor-based的思维291
实际上两个开发方式是混用的292
重点回顾292
练习问题293
第12章 Active Object——接受异步消息的主动对象295
Active Object Pattern296
范例程序296
使用端:Main类298
使用端:MakerClientThread类299
使用端:DisplayClientThread类300
“主动对象”端:ActiveObject接口300
“主动对象”端:ActiveObjectFactory类301
“主动对象”端:Proxy类302
“主动对象”端:SchedulerThread类303
“主动对象”端:ActivationQueue类304
“主动对象”端:MethodRequest类305
“主动对象”端:MakeStringRequest类306
“主动对象”端:DisplayStringRequest类307
“主动对象”端:Result类307
“主动对象”端:FutureResult类308
“主动对象”端:RealResult类309
“主动对象”端:Servant类309
执行范例程序310
Active ObjectPattern的所有参与者311
扩展思考方向的提示314
到底做了什么事呢314
Pattern是否适合使用要考虑问题的规模316
注意并发性317
新增方法317
Scheduler参与者的角色318
“主动对象”之间的对话318
迈向分布处理——将线程的界限移到机器的界限318
重点回顾319
Thread-Specific Storage Pattern(第11章)319
Worker Thread Pattern(第8章)319
Future Pattern(第9章)319
Producer-Consumer Pattern(第5章)319
相关Pattern319
练习问题320
总结 多线程程序设计的模式语言325
多线程程序设计的模式语言326
Pattern与Pattern Language326
Single Threaded Execution Pattern(第1章)——能通过这座桥的,只有一个人327
Immutable Pattern(第2章)——想破坏它也没办法328
Guarded Suspension Pattern(第3章)——等到我准备好329
Balking Pattern(第4章)——不需要的话,就算了吧330
Producer-Consumer Pattern(第5章)——你来做,我来用331
Read-Write Lock Pattern(第6章)——大家想看就看吧,不过看的时候不能写喔332
Thread-Per-Message Pattern(第7章)——这个工作交给你了334
Worker Thread Pattern(第8章)——等到工作来,来了就工作334
Future Pattern(第9章)——先给您这张提货单335
Two-Phase Termination Pattern(第10章)——快把玩具收拾好,去睡觉吧336
Thread-Specific Storage Pattern(第11章)——每个线程的保管箱337
Active Object Pattern(第12章)——接受异步消息的主动对象339
尾声340
附录A 练习问题的解答341
附录B Java的内存模型461
附录C Java线程的优先级475
附录D 线程相关的主要API479
附录E 参考文献487
热门推荐
- 3705880.html
- 549969.html
- 1802986.html
- 2611073.html
- 650403.html
- 146076.html
- 3857119.html
- 725778.html
- 3050883.html
- 2184725.html
- http://www.ickdjs.cc/book_1277563.html
- http://www.ickdjs.cc/book_3435804.html
- http://www.ickdjs.cc/book_983541.html
- http://www.ickdjs.cc/book_187154.html
- http://www.ickdjs.cc/book_75377.html
- http://www.ickdjs.cc/book_417602.html
- http://www.ickdjs.cc/book_3543114.html
- http://www.ickdjs.cc/book_812471.html
- http://www.ickdjs.cc/book_1736390.html
- http://www.ickdjs.cc/book_1882418.html