3dwoo大學簡體電腦書店
Scala并發編程 第2版
( 簡體 字)
作者:[瑞士] 亞歷山大·普羅科佩茨(Aleksandar Prokopec)類別:1. -> 程式設計 -> Scala
出版社:人民郵電出版社Scala并發編程 第2版 3dWoo書號: 54390
詢問書籍請說出此書號!
有庫存
NT售價: 500
出版日:5/1/2021
頁數:322
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787115558343 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第 1章 概述 1
1.1 并發編程 2
1.1.1 傳統并發計算概述 2
1.1.2 現代并發編程范式 3
1.2 Scala的優勢 4
1.3 準備工作 5
1.3.1 執行一個Scala程序 5
1.3.2 初識Scala 6
1.4 小結 10
1.5 練習 11

第 2章 JVM和JMM上的并發性 13
2.1 進程和線程 14
2.1.1 線程的創建和啟動 16
2.1.2 原子執行 20
2.1.3 重排序 24
2.2 監控器和同步 26
2.2.1 死鎖 28
2.2.2 保護塊 30
2.2.3 線程中斷和平滑關閉 34
2.3 易失變量 35
2.4 JMM 37
2.5 小結 40
2.6 練習 41

第3章 并發編程的傳統構造模塊 45
3.1 Executor和ExecutionContext對象 46
3.2 原子性原語 49
3.2.1 原子性變量 49
3.2.2 無鎖編程 52
3.2.3 鎖的實現 54
3.2.4 ABA問題 56
3.3 懶值 58
3.4 并發容器 62
3.4.1 并發隊列 64
3.4.2 并發集合和映射 66
3.4.3 并發遍歷 71
3.5 定制的并發數據結構 73
3.5.1 實現一個無鎖的并發池 74
3.5.2 進程的創建和處理 78
3.6 小結 79
3.7 練習 80

第4章 基于Future和Promise的異步編程 82
4.1 Future 83
4.1.1 啟動Future計算 84
4.1.2 Future回調 86
4.1.3 Future和異常 88
4.1.4 使用Try類型 89
4.1.5 致命異常 90
4.1.6 Future上的函數式組合 91
4.2 Promise 98
4.2.1 包裝基于回調的API 100
4.2.2 擴展Future API 102
4.2.3 異步計算的取消 103
4.3 Future和阻塞 106
4.3.1 等待Future完成 106
4.3.2 在異步計算內部阻塞 107
4.4 Scala的Async庫 108
4.5 其他Future框架 110
4.6 小結 112
4.7 練習 112

第5章 數據并行容器 116
5.1 Scala容器概述 117
5.2 使用并行容器 117
5.2.1 并行容器的類繼承譜系 121
5.2.2 配置并行層次 122
5.2.3 測量JVM上的性能 123
5.3 并行容器的缺點 125
5.3.1 不可并行容器 125
5.3.2 不可并行操作 126
5.3.3 并行操作中的副作用 128
5.3.4 非確定性的并行操作 129
5.3.5 可交換和可結合的操作 131
5.4 將并行容器和并發容器結合起來 132
5.5 實現定制的并行容器 134
5.5.1 分裂器 135
5.5.2 組合器 138
5.6 小結 141
5.7 練習 142

第6章 基于響應式擴展的并發編程 143
6.1 創建Observable對象 144
6.1.1 Observable對象和異常 146
6.1.2 Observable規約 147
6.1.3 定制Observable對象 149
6.1.4 由Future對象創建Observable對象 150
6.1.5 訂閱 151
6.2 Observable對象的組合 154
6.2.1 嵌套Observable對象 155
6.2.2 Observable對象的錯誤處理 160
6.3 Rx調度器 163
6.4 Subject和自頂向下響應式編程 169
6.5 小結 173
6.6 練習 174

第7章 軟件事務性內存 176
7.1 原子性變量的問題 177
7.2 使用STM 180
7.2.1 事務性引用 182
7.2.2 使用atomic語句 183
7.3 事務的組合 185
7.3.1 事務間的交互和副作用 185
7.3.2 單操作事務 189
7.3.3 嵌套的事務 190
7.3.4 事務和異常 193
7.4 事務的重試 197
7.5 事務性容器 202
7.5.1 事務局部變量 202
7.5.2 事務性數組 203
7.5.3 事務性映射 205
7.6 小結 206
7.7 練習 207

第8章 角色模型 210
8.1 使用角色模型 211
8.1.1 創建角色系統和角色實例 213
8.1.2 未處理消息的管理 216
8.1.3 角色行為和狀態 217
8.1.4 Akka角色的層次關系 221
8.1.5 角色的查找 224
8.1.6 角色的生命周期 226
8.2 角色之間的通信 230
8.2.1 ask模式 231
8.2.2 轉發模式 234
8.2.3 角色終止 235
8.3 角色的監管 237
8.4 遠程角色 242
8.5 小結 246
8.6 練習 246

第9章 并發編程實踐 248
9.1 選擇并發性編程的正確工具 248
9.2 將所有工具組合起來——編寫一個遠程文件瀏覽器 252
9.2.1 文件系統建模 253
9.2.2 服務器接口 256
9.2.3 客戶端API 258
9.2.4 客戶端程序的用戶界面 261
9.2.5 實現客戶端邏輯 265
9.2.6 改進遠程文件瀏覽器 270
9.3 調試并發性程序 271
9.3.1 死鎖和沒有進度 272
9.3.2 程序錯誤輸出的調試 276
9.3.3 性能調優 280
9.4 小結 286
9.5 練習 286

第 10章 反應器編程模型 289
10.1 對反應器的需求 290
10.2 開始使用Reactor 291
10.3 Hello World程序 291
10.4 事件流 293
10.4.1 事件流的生命周期 294
10.4.2 事件流的函數式組合 295
10.5 反應器 297
10.5.1 反應器的定義和配置 299
10.5.2 使用通道 300
10.6 調度器 302
10.7 反應器生命周期 304
10.8 反應器系統服務 305
10.8.1 日志服務 306
10.8.2 時鐘服務 306
10.8.3 Channels服務 307
10.8.4 定制服務 309
10.9 協議 310
10.9.1 定制一個服務器—客戶端協議 311
10.9.2 標準服務器—客戶端協議 313
10.9.3 路由協議 316
10.9.4 兩路協議 318
10.10 小結 321
10.11 練習 321
本書是一本關于并發編程技術的教程,書中詳細介紹了并發編程中的主要概念和基本數據結構,包括傳統并發模型、基于Future 和Promise的異步編程、數據并行容器、基于響應式擴展的并發編程、軟件事務性內存、角色模型、并發編程實踐和反應器編程模型等。本書基于Scala語言編寫,實例豐富,可操作性很強。
本書面向的用戶群體以Scala用戶為主,因為書中所有的示例都是基于Scala代碼的。但其他語言用戶也可以從中獲益良多,因為書中介紹的并發編程概念是普遍適用的,并不局限于特定編程語言,只不過Scala比較適用于并發編程而已。
pagetop