Doug Lea關(guān)于util.concurrent并發(fā)工具包的講座
Rod Johnson在Expert One-on-One J2EE Design and Development中也提到過這個東西,關(guān)注。
JavaOne 2003最受歡迎的技術(shù)會議之一是Doug Lea關(guān)于util.concurrent并發(fā)工具包的講座。這套廣泛使用的并發(fā)工具包將構(gòu)成J2SE 1.5中java.util.concurrent包的基礎(chǔ),并專門采用JSR 166來說明。
并發(fā)工具包的目的在于簡單、大膽創(chuàng)新地處理并發(fā)應(yīng)用程序,正如集合框處理數(shù)據(jù)結(jié)構(gòu)那樣。Java語言內(nèi)置的并發(fā)原語—— synchronization, wait 和 notify ——級別較低并且很難使用。因而,我們希望java.util.concurrent包將具有足夠豐富的并發(fā)構(gòu)件塊,使大部分服務(wù)器端的程序員根本就不必使用wait 和 notify。
正用來說明java.util.concurrent包的JSR-166包括:
鎖定工具類
線程池
原子變量管理
線程協(xié)調(diào)
任務(wù)調(diào)度
信號量
互斥
JSR-166還包括若干個新的并發(fā)集合類,例如LinkedBlockingQueue 和 ConcurrentHashMap。為了使履行更加高效靈活,還可以通過更改JVM以支持高性能的比較并交換(compare-and-swap )操作以及精度為納秒級的計時。介紹: http://www-900.ibm.com/developerWorks/cn/java/j-jtp1126/index.shtml
API: http://gee.cs.oswego.edu/dl/classes/index.html
源碼: http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html