有朋友問(wèn)過(guò)我,怎樣學(xué)習(xí)多線程編程,我總結(jié)了一下,列了一下知識(shí)點(diǎn):
1、synchronized
2、Runnable、Thread、Thread.sleep、Thread.yield、Thread.join
3、wait、notify、notifyAll(注意其中鎖的獲得和釋放)
4、Mutex、Semaphore
5、BlockingQueue (十分有用,必須掌握)
6、ThreadPool
7、ExecutorService
8、Future (十分重要,必須掌握)
9、ReadWriteLock
10、Lock、condition。這是很多線程庫(kù)都包含的內(nèi)容,概念和synchronized、object.wait、object.notify那套咚咚類(lèi)似,不過(guò)是通過(guò)庫(kù)的方式展現(xiàn),更加靈活。
、死鎖、哲學(xué)家就餐問(wèn)題
12、TSL匯編指令、JDK 1.5中的compareAndSet(java.uti.concurrent.atomic)、Windows API中的InterLock
13、工作線程+請(qǐng)求隊(duì)列的應(yīng)用
14、用戶(hù)線程、內(nèi)核線程,fork時(shí)用戶(hù)線程問(wèn)題 (很多Unix和早期的Linux不支持內(nèi)核線程)
15、Windows Thread API,特色API:WaitForMultiObject
相關(guān)的書(shū)籍有:
《JAVA多線程設(shè)計(jì)模式》 結(jié)城浩 中國(guó)鐵道出版社 (這本書(shū)講得很清楚形象,十分適合初學(xué)者閱讀)
JAVA并發(fā)編程—設(shè)計(jì)原則與模式(第二版) Doug Lea 中國(guó)電力出版社 (不可以不看,同時(shí)要配合閱讀util.concurrent包的源碼或者JDK 1.5的源碼)
《JAVA線程編程》 Paul Hyde 人民郵電出版社 (我覺(jué)得這本書(shū)也不錯(cuò))
《POSIX多線程程序設(shè)計(jì)》 David R.Butenhof 中國(guó)電力出版社
《WINDOWS核心編程》 Jeffrey Richter 機(jī)械工業(yè)出版社
《UNIX系統(tǒng)編程》 Kay A.Robbins, Steve Robbins 機(jī)械工業(yè)出版社
《現(xiàn)代操作系統(tǒng)》 Andrew S.Tanenbaum 機(jī)械工業(yè)出版社
《UNIX 網(wǎng)絡(luò)編程(第二版)第2卷:進(jìn)程間通信》W.Richard Stevens 北京科海電子出版社

文章來(lái)源:
http://jobs.cnblogs.com/archive/2006/01/09/313535.html