目錄
第1章 概述 1
1.1 并發(fā)還是并行? 1
1.2 并行架構 3
1.3 并發(fā):不只是多核 5
1.4 七個模型 6
第2章 線程與鎖 7
2.1 簡單粗暴 7
2.2 第一天:互斥和內存模型 8
2.3 第二天:超越內置鎖 17
2.4 第三天:站在巨人的肩膀上 27
2.5 復習 38
第3章 函數式編程 41
3.1 若不爽,就另辟蹊徑 41
3.2 第一天:拋棄可變狀態(tài) 42
3.3 第二天:函數式并行 51
3.4 第三天:函數式并發(fā) 61
3.5 復習 70
第4章 Clojure 之道——分離標識與狀態(tài) 73
4.1 混搭的力量 73
4.2 第一天:原子變量與持久數據結構 73
4.3 第二天:代理和軟件事務內存 84
4.4 第三天:深入學習 92
4.5 復習 98
第5章 Actor 100
5.1 更加面向對象 100
5.2 第一天:消息和信箱 101
5.3 第二天:錯誤處理和容錯性 111
5.4 第三天:分布式 120
5.5 復習 132
第6章 通信順序進程 135
6.1 萬物皆通信 135
6.2 第一天:channel 和go 塊 136
6.3 第二天:多個channel 與IO 146
6.4 第三天:客戶端CSP 157
6.5 復習 164
第7章 數據并行 167
7.1 隱藏在筆記本電腦中的超級計算機 167
7.2 第一天:GPGPU編程 167
7.3 第二天:多維空間與工作組 177
7.4 第三天:OpenCL和OpenGL——全部在GPU 上運行 187
7.5 復習 194
第8章 Lambda架構 196
8.1 并行計算搞定大數據 196
8.2 第一天:MapReduce 197
8.3 第二天:批處理層 208
8.4 第三天:加速層 218
8.5 復習 229
第9章 圓滿結束 231
9.1 君欲何往 231
9.2 未盡之路 232
9.3 越過山丘 234
參考書目 235