線程并不是新的概念:許多操作系統(tǒng)和語言都支持它們。在Java出現(xiàn)以前,似乎人人都在談論線程,卻很少有人使用它。用線程編程是技巧性很強的且不可移植。而在Java中卻完全不同。Java的線程工具易于使用,并且像Java中的其他東西一樣可以在不同的平臺之間移植。這是一件好事,因為如果沒有線程,那么除了最簡單的applet之外,幾乎不可能編寫出任何程序。如果你想使用Java,就必須學習線程。本書的新版本展示了如何利用Java線程工具的全部優(yōu)勢,并介紹了JDK 2線程接口中的最新變化。你將學習如何使用線程來提高效率,如何有效地使用它們,以及如何避免常見的錯誤。本書討論了死鎖、競態(tài)條件以及饑餓等問題的細節(jié),幫助你編寫沒有潛在bug的代碼。本書第二版提供了對Thread和ThreadGroup類、Runnable接口和語言的同步操作符內容的全面討論。它解釋了如何在不同的平臺上調度線程,如何開發(fā)CPUScheduler類來實現(xiàn)你自己的調度策略。其他擴展例子包括實現(xiàn)讀/寫鎖、通用鎖、任意作用域的鎖和異步I/O的類。本版本還增加了廣泛的例子,展示如何實現(xiàn)線程池和其他同步技術,如條件變量、屏障和守護鎖。它展示了如何與非線程安全的類共同工作,并特別關注于Swing的線程問題。新增加的一章介紹了如何為多處理器機器編寫并行代碼。簡而言之,本書的新版涉及了有關線程的方方面面,從最簡單的動畫applet到最復雜的應用程序。如果你計劃用Java做任何重要的事情,你將發(fā)現(xiàn)本書很有價值。