Java 版 (精华区)

发信人: allen (夏夜晚风·原来的我), 信区: Java
标  题: [蔡学镛][Learning Java the O'Reilly's Way] 5
发信站: 哈工大紫丁香 (2002年08月21日00:50:24 星期三), 站内信件

发信人: NullPointer (宁与骐骥亢轭,不随驽马之迹)
发信站: BBS 水木清华站 (Sun Jun 30 19:17:28 2002)

Learning Java the O'Reilly's Way (Part V)
Java Threads, 2nd Ed.
在 Windows 程序设计中,不是每个程序员都需要使用到执行绪,但对
Java 的程序员来说,想写出一个真正的 Java 程序(那些交作业用的
小程序不算),几乎都会用到执行绪。执行绪之所以在 Windows 和 
Java 中的重要性不同,原因有二:

·Windows 的 event-driven 方式和 Java 的 event model 不同: 
  Windows 提供许多 non-blocking API、call-back function 机制
  ;而 Java 的 API 都是 blocking 形式的,如果不想阻碍程序的进
  行,就必须使用执行绪。

·Windows 可以设定 timer(WM_TIMER 讯息),但Java不支持timer
  ,必须利用执行绪来仿真 timer 。

除此之外,下面列出两点也需要使用执行绪的时机:

某件工作如果独立而冗长,使用执行绪可以让使用者可以不用枯候,
甚至有可能提升执行效率。

使用平行算法时,也需要使用执行绪。

因为执行绪对 Java 来说实在太重要了,所以 Java 程序员有必要
彻底了解执行绪的一切,才能驾驭得当。对 Java 执行绪说明得最
完整而清楚的书,正是 Scott Oaks 和Henry Wong 所合着的《Java
Threads》。(注:其实由 Addison-Wesley 所出版,Doug Lea 所
着的《Concurrent Programming in Java》也相当不错,可惜写得
相当难懂,而且没有推出新版本。)

许多人认为执行绪很难,其实不然。「绪可叙,非常序」,教导执行
绪时,正确的顺序很重要,否则读者可能会懵懵懂懂、一知半解。我
认为《Java Threads》在这方面做得很好,它以循序渐进、引导的方
式教导读者执行绪的正确使用方式,所以即使读者原本对执行绪一点
概念都没有,也能轻易地阅读并理解其内容。 下面列出此书的大纲和
顺序:

第一章,Introduction to Threading:简单地介绍 thread。
第二章,The Java Threading API:介绍 Java 最基本的 thread API。
第三章,Synchronization Techniques:介绍多执行绪时要注意的同
        步化问题。
第四章,Wait and Notify:如何善用 wait() 和 notify() 来避免
        busy waiting。
第五章,Useful Examples of Java Thread Programming:透过几个
        范例程序让你能体会执行绪的使用方式。
第六章,Java Thread Scheduling:自行控制执行绪的排程方式。
第七章,Java Thread Scheduling Examples:执行绪排程的范例。
第八章,Advanced Synchronization Topics:如何避免 deadlock、
        starvation ,如何设计出 thread-safe 的类别。
第九章,Parallelizing for Multiprocessor Machines:在多 CPU
        的机器上,执行绪的相关问题。
第十章,Thread Groups:如何利用 Thread Group 来管理 thread。
附录A,Miscellaneous Topics:讨论一些前面未触及的执行绪问题。
附录B,Exceptions and Errors:讨论执行绪相关的例外和错误。

本书提供了许多简短的范例程序,让读者更能体会作者所欲陈述的内容。
第五章更设计了一些实用的例子,让你了解 thread 程序设计的方式和
应用所在。

相当特别的是,本书大量采用引导式教学:先提出一个问题,然后提出
一个直觉上的解决方法,再说明这个方法为什么行不通,最后告诉读者
正确的方法为何。我相当 喜欢这样的陈述方式,让人有「山穷水尽移
无路,柳暗花明又一村的」感觉,体会也因此更加深刻。

即使你认为自己已经懂得 Java thread 程序设计,我还是建议你看看
此书,你将会有许多意料之外的收获,而这些收获对你以后的 Java 程
序设计会有相当大的帮助。


--
 如 果 你 爱 我
    你 会 来 找 我

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 218.7.25.106]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.240毫秒