java多线程设计模式详解.pdf

所需积分/C币:32 2019-01-15 16:51:24 10.8MB PDF
96
收藏 收藏
举报

java多线程设计模式详解.pdf
Java多线程设计模式 结城浩著 博硕文化译 国铁出雁社 IBHINa HoUE 京市版权局著作权合同登记号:01-2004-0861号 版权声明 本书中文简体子版经 Japan u.i Agency,Inc.,由 Softbank Publishing,Inc.授 权屮国铁道出版社出版(2003,f何单位或个人未经出版者书面允许不得以任何手 段复制或抄袋本书内容 lava言語学.亻冫夕一入門儿于又b”下 Copyrightc2003by结城浩 Simplified chinese translation rights arranged with Softbank P:blishing, Inc. 1 hrough Japan I'Ni Agency, Inc, Tokyo 图书在版编目(c|P)数据 Java多线程设计模式结城浩著.一北京:屮国铁道出版社,2005.2 ISH、711306402-7 !.∴….结…Ⅲ.JAVA语言-程序设计Ⅳ.TP312 中国版本图仔馆CT数据核字(2005}第013591号 书名:Java多线程设计模式 作者:结城浩 出版发行:中国铁道出版什:100054,北京市武区右安门街8号 簟划编辑:严晓内郭毅鹏 责任编辑:苏齿翟哗王活 封面制作:白雪 印刷:北京鑫止大印刷有限公 开本:787X960116印东:32字数:639千 版本:2005牛1月第§版 2005年手月第1次印刷 印数:1-4000册 书号:1SRN71l306102-7,TP·433 定价:49.00元 版权所有侵权必究 凡购买铁道版附图书,如冇缺贞、例页、脱蓍,请与本社讦算札图书批销部调换。 出版说明 多线程与并发处理是程序设计好坏优劣的重要课题,本书通过浅显易 谨的文字与实例来介绍与Java线程相关的设计模式理念,并且通过实际 的Java程序范例和UML图示来·解说,书中在程序代码的重要部分 加上标注使读者更加容易解读。再配合众多的说明图解,无论对于初学老 还是程序设计高手来说,这都是学习和认识设训模式的一本非常难得的参 考书。 书中包含了Java语言线程的基础内容介绍、12个重要的多线程设计 模式和全书总结以及丰富的附录内容。每一章相关线程设计模式的介绍, 都举一反三使学习更有效率。每章后附有丬题,让读者可以温放知新,更 加迅速地吸收书中精华,书屮最后附上问题解答,方便读者学习验证。本 书所有模式的解说中都配有相关的范例说明,相信通过本书的学习,读者 定会迅速学到自己想要掌握的知识。 本书相关范例可以从网站htp;www.tqbooks.net/download.asp中下 载,以模式名来冈分子目录内容,书中小例放在 sample录中,而以Q 和A开头的日录分别为问题与解答的相关程序文件, Others目录中的文 件为其他重要程序 本书由 Softbank Publishing Inc通过 Japan UNI Agency,nc提供版权, 并由博硕文化酾译,由屮国铁道出版社计算机图书中心审迒。陆正中、姚 尚文、刘玉敏、陆止武、张勇、安冀茁等同志完成忄书的整稿工作。 中国铁道出版 2005年3月 冠录 漫谈UML… UML 1bp4q甲4,甲甲....P·,.···,,.,,?,.·, 类图 类和层次结构的关系 接口与实现 聚合 1222345 卡,、 访问控制 类间的关联性 顺序图 ;==‘bl‘dba+na4..s:pa.::.d中;中上由.4中1看,、·平·,,. 处理流程和对象间的协调 时序图 4556679 ntroduction1Java语言的线程 Java语言的线程 ·tq平 ,,,,,,,,、 10 何谓线程. 明为追踪处理流程,实则追踪线程 =d,=.,着44,.4 10 单线程程序 h4sb4甲甲,,,三, ,面d,,4,看甲甲,平...,,··....,,,·,.·,.··. 多线程程序 p…====;:+:;:..:;:··“=“4h目4 Thread类的run方法和star方法 13 线程的启动 17 线程的启动(1)—利用 Thread类的子类 7 线程的启动(2)—利用 Runnable接口 19 线程的暂时停止 …21 线程的共享互斥 2 synchronized方法 23 synchronized阻挡 …… 27 线程的协调 28 wait set-线程的休息室 29 wait方法把线程放入 wait set.19 notify方法—从 wait set拿出线程 甲1甲p甲甲平,,自自市,身 notify All法—从 wait set拿出所有线程 33 wait、 notify、 notifyAll是 Object类的方法 ·‘看,·,,重 34 线程的状态移转. .,.着.t,,ed十、dtt着·画b,d,·由自和十t和t,· t由 35 跟线程有关的其他话题 ,4+ 36 重点顾 ……36 练习问题 中14目争,+1寺,p+4中中1,中中1伊中41+P《目中1专,中,中,+自中中·+D,等非 4·:+·:+::4:+4::4t·:· 37 Introduction2多线程程序的评量标准 多线程程序的评量标准 42 安全性——不损坏对象… 42 生存性——进行必要的处理 ,4,4,+.4 42 复用性——可再利用类.… …43 性能——能快速、人量进行处理 n1d。d1 评标准的总结 ··「·,,,,·,,「,,,「·,,,,,,P、甲1伊·1,当、中非由自, 44 重点回顾 练习问题 +++.丶+.++·+‘+ beeves sba 第1章 Single Threaded Execution能通过这座桥的,只有一个人…147 Single Threaded Execution Pattern 48 范例程序:不使用 Single threaded execution pattern的范例 48 Main犬 …49 并非线程安全( thread-safe)的Gate类 .…,,,,,419 User Thread类 执行看看……果然出错了 51 为什么会出错呢…53 范例桿序2:使用 Single Threaded Execution Pattern的范例 .54 线程安全的Gate类 ·、,、,· ·,、,、 synchronized所扮演的角色 irbeN.,由ttt,由日1++,中平4+.1卡导手4,,甲导1·导.,,q. 55 Single Threaded Execution Pattern的所有参与者 .57 扩展思考方向的提示 58 何时使用(适用性) ·4d+1,,,,导,十导、··, 58 生命性与死锁… 59 可重川性与继承异常 60 临界区的大小与执行性能 相关 Pattern Guarded Suspension Pattern(第3章) b1、a4车L非14 61 Read-Write Lock pattern(第6章) Immutable pattern(第2章) ,,,,.,,,,·,,.,,..,,.、,,.,.,,,,,,.,,.,.,,,,,.,,,..,,,.,,,甲 61 Thread- Specific Storage Pattern(第1l章) 62 进阶说明:关于 synchronized. .652 synchronized浯法与 Before/ After pattern ……………62 这个 synchronized 在保护什么 64 该以什么单位来保护呢 导aa由+幽 64 获取谁的锁定来保护的呢. 原子的操作 1.,、d1bd、41p+1L,、Baa面a、 .65 long ' i double并不是原子的! 65 重点回顾 练习问题 …1167 第2章 mutable——想破坏它也没办法 75 Immutable Pattern attern…1111176 范例程序.… .76 使用 Immutable pattern的 Person类 76 Main类 77 PrintPerson Thread类 78 mutable patten的所有参与者 寺,,中非, 80 扩展思考方向的提示… k41导,,d上+Pa专ifd·}a由dB++目中_a_1丶 bnsrIEYPISEnnE_iaa1 8」 何时使用(适用性) 81 思考成对的 mutable类与 immutable类[执行性能] ……8 为了保扩类的不变性[复用性]… 82 标准类链接厍里使用到的 Immutable Pattern 83 相关 Pattern “d1#导,dd,、、k着,号4+1导。.+中1+导中,着省导. 84 sing! e Threaded execution patterm(第1章) 84 Read- Write Lock pattern(第6章) 专,导 ,84 Flyweight Pattern(参考附 EGoFITYuki01 4.;a、+d..,4,,4s.一4+6,,4Bd 84 进阶说明: final 85 重点叫顾 86 练习问题 86 第3章 Guarded Suspension--要等到我准备好喔… 93 Guarded Suspension Patter.……,……… 94 范例程序 94 Request类 .95 Request Queue类 ClientThread类. ,,.,..,,,.,,,..,,.,,d,,,.,.,,.,,,,,.+看 97 Server thread类 .98 N:线款设式 Main类 java util. LinkedList类的操作…… 100 仔细分析 getRequest方法 00 仔细分析 putRequest方法 号中 102 synchronized 的意义 102 wait与锁定, …103 Guarded Suspension Pattern的所有参与者.......103 扩展思考方向的提示 1.,,..甲导,,号甲,平萨·垂4,省+d14d、由1t,t、=am= 104 有条件的 synchronized 104 多线程版的i 104 忘记更改状态与生命性 .105 wat与 notify/notify All责任[复用性]105 各种各样的称呼 …105 相关 Pattern..107 Single Threaded Execution Pattern(第1章) 107 Balking Pattern(第4章)…107 Producer-Consumer Pattern(第5章) 107 Future Pattern(第9章) …107 重点回顾 107 练习问题, 108 第4章 Balking—不需要的话,就算了吧 …15 Balking Pattern.… …116 范例程序 .ibb丶‘d4d=,==bad,==a=dba.,=a=== .116 Dat类, 甲、,,,,.·, 117 Saver Thread类 .1.419 ChangerThread类 …19 Main类 120 Balking Pattern的所有参与者 122 扩展思考方向的提小… …123 何时使用(适用性 123 表达bak结果的方式 …………………………………………4 相关 Pattern ,,,.,,,。.,.e,.,·寺,,·,平等 …125 Guarded Suspension Pattern(第3章)… 125 Observer pattern(参考附录E[GoF][Yuk01])25 进阶说明: timeout… …125 Balking Pattern j Guarded Suspension Pattern的中间… 丶1,丶+,.,.非、,丶·}+“,丶d 125 wait的结束是什么时候 125 guarded timed的实现…126 synchronized没有 timeout,也不能中断 …129 重点回顾… 129 练习问题 .130 第5章 Producer-Consumer我来做,你来用 135 Producer-Consumer Pattern .,4.,.,.,甲甲,,.,号 136 范例程序 136 Main类 137 Maker Thread类 37 EaterThread类, 中,导中中11,中导·,1中1中重中11+中中中1·由t14由自1 btd44dibbd加由 138 Table类 ……139 分析put方法… 分析take方法 1面 142 Producer-Consumer Pattern的所有参与者 144 扩展思考方向的提示 .145 保护安全性的 Channel参与者[复用性]-… 145 不能直接传递吗… ,..,b,dd41lb由4bbD,由1D幽4+1中“,丶14D14,14非目由1 145 Channel参与者负荷派生的问题 146 要以什么顺序传递Data参与者 ………146 [中者的存在]隐含的意义 t十中,中十tF中号平P,平·p···,···,,· 147 只有个 Consumer参与者时会如何…1148 相关 Pattern 148 Mediator pattern(参考附录E[GoF][Yuk01])…148 Worker Thread Pattern(第8章) +,,,·、,·,、···, 149 Command Pattern(参考附录E[GoF][Yuk01])………………149 Strategy Pattern(参考附录E[GioF]Yuk0])〉…………………149 进阶说明: InterruptedException异常 149 可能会花一些时间,但是可以取消掉 l49 后面接着 throws InterruptedException的方法 149 sle方法与 interrupt方法…………150 wat方法与 interrupt方法 5 join方法与 Interrupt方法 151 nterrupt方法只是改变中断状态而已 151

...展开详情
试读 127P java多线程设计模式详解.pdf
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚钱or赚积分
最新推荐
java多线程设计模式详解.pdf 32积分/C币 立即下载
1/127
java多线程设计模式详解.pdf第1页
java多线程设计模式详解.pdf第2页
java多线程设计模式详解.pdf第3页
java多线程设计模式详解.pdf第4页
java多线程设计模式详解.pdf第5页
java多线程设计模式详解.pdf第6页
java多线程设计模式详解.pdf第7页
java多线程设计模式详解.pdf第8页
java多线程设计模式详解.pdf第9页
java多线程设计模式详解.pdf第10页
java多线程设计模式详解.pdf第11页
java多线程设计模式详解.pdf第12页
java多线程设计模式详解.pdf第13页
java多线程设计模式详解.pdf第14页
java多线程设计模式详解.pdf第15页
java多线程设计模式详解.pdf第16页
java多线程设计模式详解.pdf第17页
java多线程设计模式详解.pdf第18页
java多线程设计模式详解.pdf第19页
java多线程设计模式详解.pdf第20页

试读结束, 可继续阅读

32积分/C币 立即下载