注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術工業(yè)技術建筑科學建筑設計并發(fā)模式與應用實踐

并發(fā)模式與應用實踐

并發(fā)模式與應用實踐

定 價:¥79.00

作 者: (印度)阿圖爾·S.科德
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111625063 出版時間: 2019-05-01 包裝: 平裝
開本: 16開 頁數(shù): 207 字數(shù):  

內容簡介

  《并發(fā)模式與應用實踐》詳細闡釋如何使用多線程、同步和函數(shù)式編程模式構建可擴展的應用程序,不僅涵蓋基本的并發(fā)概念、常用的多線程、同步和函數(shù)式編程模式等技術,還深入探討了不同的并發(fā)模型和并行算法及其在不同場景中的應用,此外提供了豐富的代碼示例,可以幫助你快速掌握并有效利用并發(fā)模式以解決實際的開發(fā)問題。全書共7章,第1章概述并發(fā)編程,并介紹UNIX進程以及并發(fā)模式的管道和過濾器;第2章介紹一些關鍵的基本概念和Java內存模型的本質,你將了解共享狀態(tài)模型中出現(xiàn)的競爭條件和問題;第3章介紹其他同步模式,涉及有界緩沖區(qū)、讀寫鎖、計數(shù)信號量、倒計時鎖、循環(huán)屏障、future任務等;第4章討論線程池,涉及fork-join API、主動對象設計模式等主題;第5章介紹提高數(shù)據(jù)結構并發(fā)的各種策略,涉及無鎖堆棧和隊列、并發(fā)哈希算法、鎖條紋設計模式等;第6章討論函數(shù)式并發(fā)模式,并詳細介紹future模式;第7章討論actor模式和功能,涉及狀態(tài)封裝、become模式、基本的actor通信模式等。

作者簡介

  阿圖爾·S. 科德(Atul S. Khot)用C和C++編寫過軟件程序,作為一名Linux迷和擅長使用命令行的程序員,他精通多種編程語言。在大量使用Java編程并涉獵多種語言之后,現(xiàn)在他越來越喜歡Scala、Clojure和Erlang。他經(jīng)常作為演講嘉賓參加軟件會議,曾擔任Dobb博士產(chǎn)品獎評委。他是《Scala Functional Programming Patterns》和《Learning Functional Data Structures and Algorithms》的作者。

圖書目錄

譯者序
前言
作者/評閱者簡介
第1章 并發(fā)簡介1
1.1 并發(fā)輕而易舉2
1.1.1 推動并發(fā)3
1.1.2 分時6
1.1.3 兩種并發(fā)編程模型7
1.2 消息傳遞模型8
1.2.1 協(xié)調和通信10
1.2.2 流控制12
1.2.3 分治策略14
1.2.4 進程狀態(tài)的概念15
1.3 共享內存和共享狀態(tài)模型16
1.3.1 線程交錯—同步的需要18
1.3.2 競爭條件和海森堡bug20
1.3.3 正確的內存可見性和happens-before原則21
1.3.4 共享、阻塞和公平22
1.3.5 異步與同步執(zhí)行24
1.3.6 Java的非阻塞I/O25
1.4 模式和范式26
1.4.1 事件驅動的架構28
1.4.2 響應式編程29
1.4.3 actor范式31
1.4.4 消息代理32
1.4.5 軟件事務性內存33
1.4.6 并行集合34
1.5 本章小結35
第2章 并發(fā)模式初探37
2.1 線程及其上下文38
2.2 競爭條件40
2.2.1 監(jiān)視器模式44
2.2.2 線程安全性、正確性和不變性45
2.2.3 雙重檢查鎖定48
2.2.4 顯式鎖定52
2.2.5 生產(chǎn)者/消費者模式60
2.2.6 比較和交換66
2.3 本章小結68
第3章 更多的線程模式70
3.1 有界緩沖區(qū)72
3.1.1 策略模式—客戶端輪詢74
3.1.2 接管輪詢和睡眠的策略75
3.1.3 使用條件變量的策略77
3.2 讀寫鎖78
3.2.1 易讀的RW鎖80
3.2.2 公平鎖84
3.3 計數(shù)信號量86
3.4 我們自己的重入鎖89
3.5 倒計時鎖存器91
3.6 循環(huán)屏障95
3.7 future任務97
3.8 本章小結100
第4章 線程池101
4.1 線程池102
4.1.1 命令設計模式104
4.1.2 單詞統(tǒng)計105
4.1.3 單詞統(tǒng)計的另一個版本107
4.1.4 阻塞隊列107
4.1.5 線程中斷語義111
4.2 fork-join池111
4.2.1 Egrep—簡易版112
4.2.2 為什么要使用遞歸任務113
4.2.3 任務并行性116
4.2.4 使用fork-join API實現(xiàn)快速排序117
4.2.5 map-reduce技術124
4.3 線程的工作竊取算法125
4.4 主動對象128
4.4.1 隱藏和適應129
4.4.2 使用代理129
4.5 本章小結132
第5章 提升并發(fā)性133
5.1 無鎖堆棧134
5.1.1 原子引用134
5.1.2 堆棧的實現(xiàn)135
5.2 無鎖的FIFO隊列137
5.2.1 流程如何運作140
5.2.2 無鎖隊列141
5.2.3 ABA問題147
5.3 并發(fā)的哈希算法152
5.3.1 add(v)方法153
5.3.2 contains(v)方法156
5.4 大鎖的方法157
5.5 鎖條紋設計模式159
5.6 本章小結162
第6章 函數(shù)式并發(fā)模式163
6.1 不變性164
6.1.1 不可修改的包裝器165
6.1.2 持久數(shù)據(jù)結構167
6.1.3 遞歸和不變性169
6.2 future模式170
6.2.1 apply方法171
6.2.2 future—線程映射173
6.2.3 future模式是異步的174
6.2.4 糟糕的阻塞177
6.2.5 函數(shù)組合179
6.3 本章小結182
第7章 actor模式183
7.1 消息驅動的并發(fā)183
7.1.1 什么是actor185
7.1.2 狀態(tài)封裝189
7.1.3 并行性在哪里190
7.1.4 未處理的消息192
7.1.5 become模式193
7.1.6 讓它崩潰并恢復197
7.1.7 actor通信—ask模式199
7.1.8 actor通信—tell模式204
7.1.9 pipeTo模式205
7.2 本章小結207

本目錄推薦

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