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

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

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

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

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

這本書還是蠻不錯的,起碼給了我一個基本認識,還接觸了一點函數(shù)式編程語言Clojure,認識了一點go、erlang的特性。

具體內(nèi)容就不說了,感興趣可以看看。這里列一下章節(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, 一周。

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

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

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

很多知識知道是知道一點,但是沒有去用,總徘徊在門外。只有心里有興趣,有很大疑惑,或者需要的時候才會去看。

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

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

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

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