注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Scala并發(fā)編程(第2版)

Scala并發(fā)編程(第2版)

Scala并發(fā)編程(第2版)

定 價(jià):¥99.90

作 者: 亞歷山大·普羅科佩茨(Aleksandar Prokopec) 著,王文濤 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115558343 出版時(shí)間: 2021-05-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 322 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)是一本關(guān)于并發(fā)編程技術(shù)的教程,書(shū)中詳細(xì)介紹了并發(fā)編程中的主要概念和基本數(shù)據(jù)結(jié)構(gòu),包括傳統(tǒng)并發(fā)模型、基于Future 和Promise的異步編程、數(shù)據(jù)并行容器、基于響應(yīng)式擴(kuò)展的并發(fā)編程、軟件事務(wù)性?xún)?nèi)存、角色模型、并發(fā)編程實(shí)踐和反應(yīng)器編程模型等。本書(shū)基于Scala語(yǔ)言編寫(xiě),實(shí)例豐富,可操作性很強(qiáng)。本書(shū)面向的用戶(hù)群體以Scala用戶(hù)為主,因?yàn)闀?shū)中所有的示例都是基于Scala代碼的。但其他語(yǔ)言用戶(hù)也可以從中獲益良多,因?yàn)闀?shū)中介紹的并發(fā)編程概念是普遍適用的,并不局限于特定編程語(yǔ)言,只不過(guò)Scala比較適用于并發(fā)編程而已。

作者簡(jiǎn)介

  Aleksandar Prokopec 是一位軟件開(kāi)發(fā)者,同時(shí)也是并發(fā)和分布式編程技術(shù)研究者。他擁有克羅地亞薩格勒布大學(xué)電子工程和計(jì)算學(xué)院的計(jì)算機(jī)專(zhuān)業(yè)碩士學(xué)位和瑞士洛桑聯(lián)邦理工大學(xué)(EPFL)的計(jì)算機(jī)科學(xué)專(zhuān)業(yè)博士學(xué)位。作為 EPFL 博士助教和 Scala 語(yǔ)言開(kāi)發(fā)團(tuán)隊(duì)成員,他積極為 Scala 編程語(yǔ)言做貢獻(xiàn),研究并發(fā)編程抽象、并行數(shù)據(jù)編程支持和 Scala并發(fā)數(shù)據(jù)結(jié)構(gòu)。他編寫(xiě)了 Scala Parallel Collections 框架,這是一個(gè)高級(jí)的 Scala 并行數(shù)據(jù)編程庫(kù)。他還參加了多個(gè) Scala 并發(fā)庫(kù)開(kāi)發(fā)小組,開(kāi)發(fā)了 Future、Promise 和 ScalaSTM 等抽象。

圖書(shū)目錄

第 1章 概述 1
1.1 并發(fā)編程 2
1.1.1 傳統(tǒng)并發(fā)計(jì)算概述 2
1.1.2 現(xiàn)代并發(fā)編程范式 3
1.2 Scala的優(yōu)勢(shì) 4
1.3 準(zhǔn)備工作 5
1.3.1 執(zhí)行一個(gè)Scala程序 5
1.3.2 初識(shí)Scala 6
1.4 小結(jié) 10
1.5 練習(xí) 11
第 2章 JVM和JMM上的并發(fā)性 13
2.1 進(jìn)程和線(xiàn)程 14
2.1.1 線(xiàn)程的創(chuàng)建和啟動(dòng) 16
2.1.2 原子執(zhí)行 20
2.1.3 重排序 24
2.2 監(jiān)控器和同步 26
2.2.1 死鎖 28
2.2.2 保護(hù)塊 30
2.2.3 線(xiàn)程中斷和平滑關(guān)閉 34
2.3 易失變量 35
2.4 JMM 37
2.5 小結(jié) 40
2.6 練習(xí) 41
第3章 并發(fā)編程的傳統(tǒng)構(gòu)造模塊 45
3.1 Executor和ExecutionContext對(duì)象 46
3.2 原子性原語(yǔ) 49
3.2.1 原子性變量 49
3.2.2 無(wú)鎖編程 52
3.2.3 鎖的實(shí)現(xiàn) 54
3.2.4 ABA問(wèn)題 56
3.3 懶值 58
3.4 并發(fā)容器 62
3.4.1 并發(fā)隊(duì)列 64
3.4.2 并發(fā)集合和映射 66
3.4.3 并發(fā)遍歷 71
3.5 定制的并發(fā)數(shù)據(jù)結(jié)構(gòu) 73
3.5.1 實(shí)現(xiàn)一個(gè)無(wú)鎖的并發(fā)池 74
3.5.2 進(jìn)程的創(chuàng)建和處理 78
3.6 小結(jié) 79
3.7 練習(xí) 80
第4章 基于Future和Promise的異步編程 82
4.1 Future 83
4.1.1 啟動(dòng)Future計(jì)算 84
4.1.2 Future回調(diào) 86
4.1.3 Future和異?!?8
4.1.4 使用Try類(lèi)型 89
4.1.5 致命異常 90
4.1.6 Future上的函數(shù)式組合 91
4.2 Promise 98
4.2.1 包裝基于回調(diào)的API 100
4.2.2 擴(kuò)展Future API 102
4.2.3 異步計(jì)算的取消 103
4.3 Future和阻塞 106
4.3.1 等待Future完成 106
4.3.2 在異步計(jì)算內(nèi)部阻塞 107
4.4 Scala的Async庫(kù) 108
4.5 其他Future框架 110
4.6 小結(jié) 112
4.7 練習(xí) 112
第5章 數(shù)據(jù)并行容器 116
5.1 Scala容器概述 117
5.2 使用并行容器 117
5.2.1 并行容器的類(lèi)繼承譜系 121
5.2.2 配置并行層次 122
5.2.3 測(cè)量JVM上的性能 123
5.3 并行容器的缺點(diǎn) 125
5.3.1 不可并行容器 125
5.3.2 不可并行操作 126
5.3.3 并行操作中的副作用 128
5.3.4 非確定性的并行操作 129
5.3.5 可交換和可結(jié)合的操作 131
5.4 將并行容器和并發(fā)容器結(jié)合起來(lái) 132
5.5 實(shí)現(xiàn)定制的并行容器 134
5.5.1 分裂器 135
5.5.2 組合器 138
5.6 小結(jié) 141
5.7 練習(xí) 142
第6章 基于響應(yīng)式擴(kuò)展的并發(fā)編程 143
6.1 創(chuàng)建Observable對(duì)象 144
6.1.1 Observable對(duì)象和異?!?46
6.1.2 Observable規(guī)約 147
6.1.3 定制Observable對(duì)象 149
6.1.4 由Future對(duì)象創(chuàng)建Observable對(duì)象 150
6.1.5 訂閱 151
6.2 Observable對(duì)象的組合 154
6.2.1 嵌套Observable對(duì)象 155
6.2.2 Observable對(duì)象的錯(cuò)誤處理 160
6.3 Rx調(diào)度器 163
6.4 Subject和自頂向下響應(yīng)式編程 169
6.5 小結(jié) 173
6.6 練習(xí) 174
第7章 軟件事務(wù)性?xún)?nèi)存 176
7.1 原子性變量的問(wèn)題 177
7.2 使用STM 180
7.2.1 事務(wù)性引用 182
7.2.2 使用atomic語(yǔ)句 183
7.3 事務(wù)的組合 185
7.3.1 事務(wù)間的交互和副作用 185
7.3.2 單操作事務(wù) 189
7.3.3 嵌套的事務(wù) 190
7.3.4 事務(wù)和異?!?93
7.4 事務(wù)的重試 197
7.5 事務(wù)性容器 202
7.5.1 事務(wù)局部變量 202
7.5.2 事務(wù)性數(shù)組 203
7.5.3 事務(wù)性映射 205
7.6 小結(jié) 206
7.7 練習(xí) 207
第8章 角色模型 210
8.1 使用角色模型 211
8.1.1 創(chuàng)建角色系統(tǒng)和角色實(shí)例 213
8.1.2 未處理消息的管理 216
8.1.3 角色行為和狀態(tài) 217
8.1.4 Akka角色的層次關(guān)系 221
8.1.5 角色的查找 224
8.1.6 角色的生命周期 226
8.2 角色之間的通信 230
8.2.1 ask模式 231
8.2.2 轉(zhuǎn)發(fā)模式 234
8.2.3 角色終止 235
8.3 角色的監(jiān)管 237
8.4 遠(yuǎn)程角色 242
8.5 小結(jié) 246
8.6 練習(xí) 246
第9章 并發(fā)編程實(shí)踐 248
9.1 選擇并發(fā)性編程的正確工具 248
9.2 將所有工具組合起來(lái)——編寫(xiě)一個(gè)遠(yuǎn)程文件瀏覽器 252
9.2.1 文件系統(tǒng)建?!?53
9.2.2 服務(wù)器接口 256
9.2.3 客戶(hù)端API 258
9.2.4 客戶(hù)端程序的用戶(hù)界面 261
9.2.5 實(shí)現(xiàn)客戶(hù)端邏輯 265
9.2.6 改進(jìn)遠(yuǎn)程文件瀏覽器 270
9.3 調(diào)試并發(fā)性程序 271
9.3.1 死鎖和沒(méi)有進(jìn)度 272
9.3.2 程序錯(cuò)誤輸出的調(diào)試 276
9.3.3 性能調(diào)優(yōu) 280
9.4 小結(jié) 286
9.5 練習(xí) 286
第 10章 反應(yīng)器編程模型 289
10.1 對(duì)反應(yīng)器的需求 290
10.2 開(kāi)始使用Reactor 291
10.3 Hello World程序 291
10.4 事件流 293
10.4.1 事件流的生命周期 294
10.4.2 事件流的函數(shù)式組合 295
10.5 反應(yīng)器 297
10.5.1 反應(yīng)器的定義和配置 299
10.5.2 使用通道 300
10.6 調(diào)度器 302
10.7 反應(yīng)器生命周期 304
10.8 反應(yīng)器系統(tǒng)服務(wù) 305
10.8.1 日志服務(wù) 306
10.8.2 時(shí)鐘服務(wù) 306
10.8.3 Channels服務(wù) 307
10.8.4 定制服務(wù) 309
10.9 協(xié)議 310
10.9.1 定制一個(gè)服務(wù)器—客戶(hù)端協(xié)議 311
10.9.2 標(biāo)準(zhǔn)服務(wù)器—客戶(hù)端協(xié)議 313
10.9.3 路由協(xié)議 316
10.9.4 兩路協(xié)議 318
10.10 小結(jié) 321
10.11 練習(xí) 321

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)