有朋友問過我,怎樣學(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。這是很多線程庫都包含的內(nèi)容,概念和synchronized、object.wait、object.notify那套咚咚類似,不過是通過庫的方式展現(xiàn),更加靈活。
、死鎖、哲學(xué)家就餐問題
12、TSL匯編指令、JDK 1.5中的compareAndSet(java.uti.concurrent.atomic)、Windows API中的InterLock
13、工作線程+請(qǐng)求隊(duì)列的應(yīng)用
14、用戶線程、內(nèi)核線程,fork時(shí)用戶線程問題 (很多Unix和早期的Linux不支持內(nèi)核線程)
15、Windows Thread API,特色API:WaitForMultiObject
相關(guān)的書籍有:
《JAVA多線程設(shè)計(jì)模式》 結(jié)城浩 中國鐵道出版社 (這本書講得很清楚形象,十分適合初學(xué)者閱讀)
JAVA并發(fā)編程—設(shè)計(jì)原則與模式(第二版) Doug Lea 中國電力出版社 (不可以不看,同時(shí)要配合閱讀util.concurrent包的源碼或者JDK 1.5的源碼)
《JAVA線程編程》 Paul Hyde 人民郵電出版社 (我覺得這本書也不錯(cuò))
《POSIX多線程程序設(shè)計(jì)》 David R.Butenhof 中國電力出版社
《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 北京科海電子出版社
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||