《多核程式設計的藝術》讀書筆記
阿新 • • 發佈:2018-12-23
感謝網友 鄭思遙 投遞本稿。
這份筆記是我2013年下半年以來讀“The Art of Multiprocessor Programming”這本書的讀書筆記。目前有關共享記憶體併發同步相關的書籍並不多,但是學術文獻卻不少,跨越的時間範圍也非常長,說明人們一直在做出努力。
這本書是這個領域的好書,作為一本好書,它總結了這個領域自發展以來的大量重要成果,介紹了共享記憶體同步的基本理論,並介紹了大量併發演算法和資料結構(主要是無鎖演算法),包括併發佇列、棧、連結串列、計數器、排序網路、雜湊、跳錶、優先佇列等。
更為重要的是,本書的作者之一Maurice Herlihy就是併發同步領域的泰斗級人物,本身提出了無等待同步的基本理論,還提出了不少重要的無鎖演算法,因此這本書的權威性和重要性毋庸置疑。為了加深自己對重要概念的理解,同時受到Hawstein的“把《程式設計珠璣》讀薄”這篇博文的啟發和劉未鵬《暗時間》的影響,我決定用自己的語言把這本書的重要內容複述一遍,其中也加入了自己的一些想法和理解,希望這份筆記能對這本書的其他讀者有幫助,也希望能對所有對共享記憶體同步的朋友們有幫助,這份筆記本身也能作為共享記憶體式同步的教程,但是筆記本身不能取代原書。
由於我才疏學淺缺乏經驗,因此其中必定有不少謬誤,望各路大牛批評指正多多交流。
目前整本書我已經讀完一大半,這份筆記將持續更新,直到完全覆蓋所有的18章,目前更新至第3章。