任何一門支持多線程的語言中,多線程是都是一個讓人又愛又恨的東西。Java的多線程相對而言比其它語言要簡單一點,如果不是開發框架類或者系統級的程序,也許很少會碰到要明確碰到Java的多線程API,但事實上不等于你不用注意多線程安全的問題,尤其當你在開發Web程序的時候,在類中使用了靜態屬性(static fields)而不僅僅是對象屬性(instance fields)的時候,如果在壓力測試或者提交給用戶使用的時候,發生了一些不可重現的錯誤或者數據混亂的時候,那往往要查查這些使用了靜態屬性的類是否是多線程安全的了。當然,如果你專注于開發Web應用,并且很少涉及框架或核心模塊的開發,那也就基本上知道synchronized的關鍵字的應用就可以了。這也許就是Java多線程相對其它語言中多線程要簡單一點的原因。
當然,這次我打算比較深入地來了解了解一下Java多線程開發的其它一些內容,那么找一本好的書是一個比 較好的開始。關于Java多線程開發的專著比較有名的大約是《Java Threads, 3rd Edition》和《Java Thread Programming》了,前者基于JDK 1.5(這個版本對多線程進行了很大的改進)進行介紹,并且指出了與以前版本的區別;而后者出版于1999年,是基于JDK 1.2進行講解的。所以呢,基本上采用第一本為主。同時也參考一下《Practical Java》和《Effective Java》的相關條目。這幾本書的封面如下,相關書的介紹可去Amazon查看一下: