Java线程(第二版)
Java线程(第二版)
Scott Oaks, Henry Wong
黄若波, 程峰 译
出版时间:2003年03月
页数:352
线程并不是新的概念:许多操作系统和语言都支持它们。在Java出现以前,似乎人人都在谈论线程,却很少有人使用它。用线程编程是技巧性很强的且不可移植。
而在Java中却完全不同。Java的线程工具易于使用,并且像Java中的其他东西一样可以在不同的平台之间移植。这是一件好事,因为如果没有线程,那么除了最简单的applet之外,几乎不可能编写出任何程序。如果你想使用Java,就必须学习线程。
本书的新版本展示了如何利用Java线程工具的全部优势,并介绍了JDK 2线程接口中的最新变化。你将学习如何使用线程来提高效率,如何有效地使用它们,以及如何避免常见的错误。本书讨论了死锁、竞态条件以及饥饿等问题的细节,帮助你编写没有潜在bug的代码。
本书第二版提供了对Thread和ThreadGroup类、Runnable接口和语言的同步操作符等内容的全面讨论。它解释了如何在不同的平台上调度线程,如何开发CPUScheduler类来实现你自己的调度策略。其他扩展例子包括实现读/写锁、通用锁、任意作用域的锁和异步I/O的类。本版本还增加了广泛的例子,展示如何实现线程池和其他同步技术,如条件变量、屏障和守护锁。它展示了如何与非线程安全的类共同工作,并特别关注于Swing的线程问题。新增加的一章介绍了如何为多处理器机器编写并行代码。
简而言之,本书的新版涉及了有关线程的方方面面,从最简单的动画applet到最复杂的应用程序。如果你计划用Java做任何重要的事情,你将发现本书很有价值。
Scott Oaks,Sun公司的Java技术专家,负责为Java最终用户提供Java技术。
Henry Wong,Sun公司的高级系统工程师,开发Java原型和为使用Java的客户提供支持。
  1. 前言
  2. 第一章 线程简介
  3. Java术语
  4. 线程概述
  5. 为什么要使用线程?
  6. 总结
  7. 第二章 Java线程API
  8. 通过Thread类创建线程
  9. 使用Runable接口的线程
  10. 线程的生命周期
  11. 线程命名
  12. 访问线程
  13. 线程的启动、停止和连接
  14. 总结
  15. 第三章 同步技术
  16. 银行的例子
  17. 异步读取数据
  18. 一个进行同步操作的类
  19. 同步块
  20. 嵌套锁
  21. 死锁
  22. 返回到银行的例子
  23. 同步静态方法
  24. 总结
  25. 第四章 等待和通知
  26. 返回到银行的例子
  27. 等待和通知
  28. wait()、notify()和notifyAll()
  29. wait()和sleep()
  30. 线程中断
  31. 静态方法(有关同步的细节)
  32. 总结
  33. 第五章 Java线程编程的例子
  34. 数据结构和容器
  35. 简单的同步例子
  36. 一个网络服务器类
  37. AsyncInputStream类
  38. 使用TCPServer和AsyncInputStream
  39. 总结
  40. 第六章 Java线程调度
  41. 线程调度概述
  42. 何时调度是重要的
  43. 调度和线程优先级
  44. 常见的调度实现
  45. 本地调度支持
  46. 其他线程调度方法
  47. 总结
  48. 第七章 Java线程调度例子
  49. 线程池
  50. 循环调度
  51. 作业调度
  52. 总结
  53. 第八章 和同步相关的高级主题
  54. 同步术语
  55. 预防死锁
  56. 锁饥饿
  57. 非线程安全的类
  58. 总结
  59. 第九章 多处理器机器上的并行化
  60. 单线程程序并行化
  61. 内层循环线程化
  62. 循环输出
  63. 多处理器扩展
  64. 总结
  65. 第十章 线程组
  66. 线程组概念
  67. 创建线程组
  68. 线程组方法
  69. 操作线程组
  70. 线程组、线程和安全
  71. 总结
  72. 附录一 其他主题
  73. 附录二 异常和错误
  74. 词汇表
书名:Java线程(第二版)
作者:Scott Oaks, Henry Wong
译者:黄若波, 程峰 译
国内出版社:中国电力出版社
出版时间:2003年03月
页数:352
书号:7-5083-1318-6
原版书出版商:O'Reilly Media
Scott Oaks
 
Scott Oaks是Sun公司Java性能工程组的高级软件工程师。自1987年就职于Sun公司以来,他曾专攻于多项技术,从SunOS核心技术到网络编程和RPC,再到X Window系统和线程技术等等。从1995年初,他开始将Java作为其研究重点,并致力于把Java技术介绍给终端用户。Scott负责为《The Java Report》撰写关于Java解决方案的专栏文章,此外他还在O'Reilly出版了三本Java类图书:《Java Security》,《Java Threads》以及《Jini in a Nutshell》(后两本书是与Henry Wong合作出版的)。在Internet上,Scott还以其开发的OPEN LOOK 窗口管理器olvwm而具有很高的知名度。
Scott在丹佛大学获得了数学和计算机科学的学士学位,并在Brown大学获得了计算机科学的硕士学位。在加入Sun之前,他曾经是Stearns的Bear研究分部的成员。
业余时间,Scott热爱音乐(他参加了纽约的相关社团,演奏长笛和短笛),热衷于烹调和戏剧,另外还非常喜欢与伴侣James去旅游。




Scott Oaks是Sun公司的Java技术专家,他从1987年开始在这里工作,在这里,他专门从事各种不同的技术,从SunOS内核到网络编程,从RPC到X Window系统到线程化。从1995年上半年开始,他主要专注于Java和为最终用户提拱Java技术;他为《The Java Report》撰写Java解决方案方面的每月专栏。在Internet上,他以olvwm的作者和OPEN LOOK window管理者而闻名。他还是Java Security(O'Reilly出版)一书的作者。
Scott从丹佛大学获得了数学和计算机科学的学士学位,并且从布朗大学获得了计算机科学的硕士学位。在加入Sun公司以前,他一直在Bear公司的Stearns研究分公司工作。
在业余生活中,他喜欢音乐、烹饪、戏剧,以及和他的伴侣James一起旅行。
 
 
Henry Wong
 
Henry Wong是Sun公司的高级系统工程师,他从1989年开始在这里工作。最初,他是一名顾问,帮助客户解决特殊设备驱动程序、内核修改,以及DOS互操作性产品问题,他还致力于Solaris端口、性能调整项目、多线程设计及实现基准和演示等工作。从1995年上半年开始,Henry开始开发Java原型,为使用Java的客户提供支持。
在加入Sun公司以前,Henry于1987年从Cooper联合学院获得了化学工程的科学学士学位。1986年,他加入了一个小的软件公司,从事SCSI设备驱动程序、图像和声音数据压缩,以及用于药物信息系统的图形工具等方面的工作。
当不在计算机前时,Henry是一个私人飞行员,他喜欢箭术、烹饪以及和他的妻子Nini一起旅行。
 
 
本书封面上的动物属于钵水母纲(scyphomedusa,Atolla vanhoeffeni),是一种发光水母,生活在世界各地500至1000米深的海洋中。它们的直径为3到5厘米,身上有20根短而硬的触角和一根拖在后面的长触角。尽管在某些国家人们把它们当作食物,但这种水母并不是特别有营养;水母所含的有机物还不到整个身体的百分之一,其余成分都是水。