一些并發(fā)編程的學(xué)習(xí)

對(duì)于并發(fā)編程,除了操作系統(tǒng)課上學(xué)的那點(diǎn)知識(shí),我的實(shí)踐很少。

本科時(shí)的實(shí)踐,一個(gè)是用在聊天小程序上,一個(gè)線程收,一個(gè)線程發(fā);還有是寫界面程序時(shí),GUI單獨(dú)一個(gè)線程。僅此而已。

后來(lái)接觸node.js 和redis, 了解了一些事件驅(qū)動(dòng)的單線程并發(fā)模型。對(duì)于并發(fā)編程,比如如何用好多線程、鎖、同步之類的,也挺好奇的,哈,我覺(jué)得這是一個(gè)提高自己的好方向。

第一本看的書是《Seven Concurrency Models in Seven Weeks》英文版PDF,即《七周七并發(fā)模型》, 互動(dòng)出版網(wǎng)上也有中文翻譯版賣。(嘿嘿,在互動(dòng)出版網(wǎng)上買了我的第一本計(jì)算機(jī)書,《算法導(dǎo)論》)

這本書還是蠻不錯(cuò)的,起碼給了我一個(gè)基本認(rèn)識(shí),還接觸了一點(diǎn)函數(shù)式編程語(yǔ)言Clojure,認(rèn)識(shí)了一點(diǎn)go、erlang的特性。

具體內(nèi)容就不說(shuō)了,感興趣可以看看。這里列一下章節(jié)目錄:

  1. Introduction
  2. Threads and Locks
  3. Functional Programming
  4. The Clojure Way—Separating Identity from State
  5. Actors
  6. Communicating Sequential Processes
  7. Data Parallelism
  8. The Lambda Architecture

每章分為3Day, 一周。

第二本書是實(shí)習(xí)時(shí)開(kāi)始看的,只看了一半,還在看,叫《Java.Concurrency.in.Practice》。

據(jù)說(shuō)這書經(jīng)典,但是我看文字太多了,圖比較少,似乎不太直觀。此書談到的問(wèn)題還是很實(shí)用的,包含Java的內(nèi)存模型,什么線程安全、內(nèi)存可見(jiàn)性、同步方式、線程池、阻塞中斷等等,還有 java.util.concurrent包里很多類的使用方法等等。

推薦:
并發(fā)編程網(wǎng) http://ifeve.com/
InfoQ: http://www.infoq.com/cn

很多知識(shí)知道是知道一點(diǎn),但是沒(méi)有去用,總徘徊在門外。只有心里有興趣,有很大疑惑,或者需要的時(shí)候才會(huì)去看。

有相關(guān)項(xiàng)目,一邊做一邊學(xué),沒(méi)事看看java.util.concurrent里一些類的實(shí)現(xiàn)方式,設(shè)計(jì)思路,也蠻不錯(cuò)的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容