性xx色动画xx无尽,国产精品三级av三级av三级 ,中文在线√天堂,亚洲国产成人久久一区久久,亚洲熟妇色l20p

當前位置 : 首頁  圖書 正文

C++并發(fā)編程實戰(zhàn)簡介,目錄書摘

2020-03-02 09:31 來源:京東 作者:京東
c++并發(fā)編程實戰(zhàn)
C++并發(fā)編程實戰(zhàn)
暫無報價
6.2萬+評論 98%好評
內容簡介:

  《C++并發(fā)編程實戰(zhàn)》是一本基于C++11新標準的并發(fā)和多線程編程深度指南。內容包括從std::thread、std::mutex、std::future和std::async等基礎類的使用,到內存模型和原子操作、基于鎖和鎖數(shù)據(jù)結構的構建,再擴展到并行算法、線程管理,最后還介紹了多線程代碼的測試工作。本書的附錄部分還對C++11新語言特性中與多線程相關的項目進行了簡要的介紹,并提供了C++11線程庫的完整參考。
  《C++并發(fā)編程實戰(zhàn)》適合于需要深入了解C++多線程開發(fā)的讀者,以及使用C++進行各類軟件開發(fā)的開發(fā)人員、測試人員。對于使用第三方線程庫的讀者,也可以從本書后面的章節(jié)中了解到相關的指引和技巧。同時,本書還可以作為C++11線程庫的參考工具書。

作者簡介:

  周全,軟件工程師,畢業(yè)于中國科學技術大學信息學院,現(xiàn)任職于中國人民銀行合肥中心支行科技處。從事.NET開發(fā)多年,有較為豐富的系統(tǒng)集成和運維經驗,對虛擬化也有較深入的研究??梢酝ㄟ^email與他聯(lián)系。

  宋真真,網(wǎng)絡工程師,2008年畢業(yè)于合肥工業(yè)大學計算機與信息學院,現(xiàn)任職于中國人民銀行合肥中心支行科技處,參與軟件開發(fā)、項目管理等工作,愛好數(shù)據(jù)庫、編程等研究??梢酝ㄟ^email與她聯(lián)系。

  梁娟娟,2010年畢業(yè)于中國科學技術大學信息技術學院,現(xiàn)就職于中國人民銀行合肥中心支行。

  許敏,軟件工程師,2005年獲得軟件測試工程師證書?,F(xiàn)任職于中國人民銀行合肥中心支行科技處,負責項目管理工作??梢酝ㄟ^Email與她聯(lián)系。

目錄:第1章 你好,C++并發(fā)世界 1
1.1 什么是并發(fā) 2
1.1.1 計算機系統(tǒng)中的并發(fā) 2
1.1.2 并發(fā)的途徑 3
1.2 為什么使用并發(fā) 5
1.2.1 為了劃分關注點而使用
并發(fā) 5
1.2.2 為了性能而使用并發(fā) 6
1.2.3 什么時候不使用并發(fā) 7
1.3 在C++中使用并發(fā)和
多線程 8
1.3.1 C++多線程歷程 8
1.3.2 新標準中的并發(fā)支持 9
1.3.3 C++線程庫的效率 9
1.3.4 平臺相關的工具 10
1.4 開始入門 11
1.5 小結 12
第2章 管理線程 13
2.1 基本線程管理 13
2.1.1 啟動線程 14
2.1.2 等待線程完成 16
2.1.3 在異常環(huán)境下的等待 17
2.1.4 在后臺運行線程 19
2.2 傳遞參數(shù)給線程函數(shù) 20
2.3 轉移線程的所有權 23
2.4 在運行時選擇線程
數(shù)量 26
2.5 標識線程 28
2.6 小結 29
第3章 在線程間共享數(shù)據(jù) 31
3.1 線程之間共享數(shù)據(jù)的
問題 32
3.1.1 競爭條件 33
3.1.2 避免有問題的競爭
條件 34
3.2 用互斥元保護共享
數(shù)據(jù) 35
3.2.1 使用C++中的互斥元 35
3.2.2 為保護共享數(shù)據(jù)精心組織
代碼 36
3.2.3 發(fā)現(xiàn)接口中固有的競爭
條件 38
3.2.4 死鎖:問題和解決方案 44
3.2.5 避免死鎖的進一步
指南 46
3.2.6 用std::unique_lock靈活
鎖定 51
3.2.7 在作用域之間轉移鎖的
所有權 52
3.2.8 鎖定在恰當?shù)牧6?54
3.3 用于共享數(shù)據(jù)保護的替代工具 56
3.3.1 在初始化時保護共享
數(shù)據(jù) 56
3.3.2 保護很少更新的數(shù)據(jù)
結構 59
3.3.3 遞歸鎖 61
3.4 小結 62
第4章 同步并發(fā)操作 63
4.1 等待事件或其他條件 63
4.1.1 用條件變量等待條件 65
4.1.2 使用條件變量建立一個
線程安全隊列 67
4.2 使用future等待一次性
事件 71
4.2.1 從后臺任務中返回值 72
4.2.2 將任務與future相關聯(lián) 74
4.2.3 生成(std::)promise 77
4.2.4 為future保存異常 79
4.2.5 等待自多個線程 80
4.3 有時間限制的等待 82
4.3.1 時鐘 83
4.3.2 時間段 84
4.3.3 時間點 85
4.3.4 接受超時的函數(shù) 86
4.4 使用操作同步來簡化
代碼 88
4.4.1 帶有future的函數(shù)式
編程 88
4.4.2 具有消息傳遞的同步
操作 92
4.5 小結 96
第5章 C++內存模型和原子
類型上操作 97
5.1 內存模型基礎 98
5.1.1 對象和內存位置 98
5.1.2 對象、內存位置以及
并發(fā) 99
5.1.3 修改順序 100
5.2 C++中的原子操作及
類型 100
5.2.1 標準原子類型 101
5.2.2 std::atomic_flag上的
操作 103
5.2.3 基于std::atomic的
操作 105
5.2.4 std::atomic上的操作:指針算術運算 107
5.2.5 標準原子整型的
操作 108
5.2.6 std::atomic<>初級類
模板 109
5.2.7 原子操作的自由函數(shù) 111
5.3 同步操作和強制
順序 112
5.3.1 synchronizes-with
關系 114
5.3.2 happens-before關系 114
5.3.3 原子操作的內存
順序 116
5.3.4 釋放序列和
synchronizes-with 133
5.3.5 屏障 135
5.3.6 用原子操作排序非原子
操作 137
5.4 小結 138
第6章 設計基于鎖的并發(fā)
數(shù)據(jù)結構 140
6.1 為并發(fā)設計的含義是
什么 141
6.2 基于鎖的并發(fā)數(shù)據(jù)
結構 142
6.2.1 使用鎖的線程
安全棧 142
6.2.2 使用鎖和條件變量的線程
安全隊列 145
6.2.3 使用細粒度鎖和條件變量的線程安全隊列 149
6.3 設計更復雜的基于鎖的
數(shù)據(jù)結構 160
6.3.1 編寫一個使用鎖的線程
安全查找表 160
6.3.2 編寫一個使用鎖的線程
安全鏈表 165
6.4 小結 169
第7章 設計鎖的并發(fā)數(shù)據(jù)
結構 170
7.1 定義和結果 171
7.1.1 非阻塞數(shù)據(jù)結構的
類型 171
7.1.2 鎖數(shù)據(jù)結構 172
7.1.3 等待的數(shù)據(jù)結構 172
7.1.4 鎖數(shù)據(jù)結構的優(yōu)點與
缺點 172
7.2 鎖數(shù)據(jù)結構的
例子 173
7.2.1 編寫不用鎖的線程
安全棧 174
7.2.2 停止惱人的泄漏:在鎖數(shù)據(jù)結構中管理內存 178
7.2.3 用風險指針檢測不能被
回收的結點 182
7.2.4 使用引用計數(shù)檢測
結點 189
7.2.5 將內存模型應用至
鎖棧 194
7.2.6 編寫不用鎖的線程安全
隊列 198
7.3 編寫鎖數(shù)據(jù)結構的
準則 209
7.3.1 準則:使用std::memory_order_
seq_cst作為原型 210
7.3.2 準則:使用鎖內存回收
模式 210
7.3.3 準則:當心ABA問題 210
7.3.4 準則:識別忙于等待的循環(huán)以及輔助其他線程 211
7.4 小結 211
第8章 設計并發(fā)代碼 213
8.1 在線程間劃分工作的
技術 214
8.1.1 處理開始前在線程間劃分
數(shù)據(jù) 214
8.1.2 遞歸地劃分數(shù)據(jù) 215
8.1.3 以任務類型劃分
工作 219
8.2 影響并發(fā)代碼性能的
因素 222
8.2.1 有多少個處理器 222
8.2.2 數(shù)據(jù)競爭和乒乓
緩存 223
8.2.3 假共享 225
8.2.4 數(shù)據(jù)應該多緊密 225
8.2.5 過度訂閱和過多的任務
切換 226
8.3 為多線程性能設計數(shù)據(jù)
結構 226
8.3.1 為復雜操作劃分數(shù)組
元素 227
8.3.2 其他數(shù)據(jù)結構中的數(shù)據(jù)
訪問方式 228
8.4 為并發(fā)設計時的額外
考慮 230
8.4.1 并行算法中的異常
安全 230
8.4.2 可擴展性和阿姆達爾
定律 237
8.4.3 用多線程隱藏延遲 238
8.4.4 用并發(fā)提高響應性 239
8.5 在實踐中設計并發(fā)
代碼 241
8.5.1 std::for_each的并行
實現(xiàn) 241
8.5.2 std::find的并行實現(xiàn) 243
8.5.3 std::partial_sum的并行
實現(xiàn) 248
8.6 總結 256
第9章 高級線程管理 258
9.1 線程池 259
9.1.1 最簡單的線程池 259
9.1.2 等待提交給線程池的
任務 261
9.1.3 等待其他任務的
任務 265
9.1.4 避免工作隊列上的
競爭 267
9.1.5 工作竊取 269
9.2 中斷線程 273
9.2.1 啟動和中斷另一個
線程 274
9.2.2 檢測一個線程是否被
中斷 275
9.2.3 中斷等待條件變量 276
9.2.4 中斷在std::condition_variable_ any上的等待 279
9.2.5 中斷其他阻塞調用 281
9.2.6 處理中斷 281
9.2.7 在應用退出時中斷后臺
任務 282
9.3 總結 284
第10章 多線程應用的測試與
調試 285
10.1 并發(fā)相關錯誤的
類型 285
10.1.1 不必要的阻塞 286
10.1.2 競爭條件 286
10.2 定位并發(fā)相關的錯誤的
技巧 288
10.2.1 審閱代碼以定位潛在的
錯誤 288
10.2.2 通過測試定位并發(fā)相關的
錯誤 290
10.2.3 可測試性設計 291
10.2.4 多線程測試技術 292
10.2.5 構建多線程的測試
代碼 295
10.2.6 測試多線程代碼的
性能 297
10.3 總結 298
附錄A 附錄A C++11部分
語言特性簡明
參考 299
附錄B 并發(fā)類庫
熱門推薦文章
相關優(yōu)評榜
品類齊全,輕松購物 多倉直發(fā),極速配送 正品行貨,精致服務 天天低價,暢選無憂
購物指南
購物流程
會員介紹
生活旅行/團購
常見問題
大家電
聯(lián)系客服
配送方式
上門自提
211限時達
配送服務查詢
配送費收取標準
海外配送
支付方式
貨到付款
在線支付
分期付款
郵局匯款
公司轉賬
售后服務
售后政策
價格保護
退款說明
返修/退換貨
取消訂單
特色服務
奪寶島
DIY裝機
延保服務
京東E卡
京東通信
京東JD+