久久人人做人人妻人人玩精品hd,精品国产成人av在线,好姑娘在线视频免费观看 ,含羞草电影免费看韩国,果冻传媒一区

當(dāng)前位置 : 首頁(yè)  圖書(shū) 正文

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

2020-03-02 09:31 來(lái)源:京東 作者:京東
c++并發(fā)編程實(shí)戰(zhàn)
C++并發(fā)編程實(shí)戰(zhàn)
暫無(wú)報(bào)價(jià)
6.2萬(wàn)+評(píng)論 98%好評(píng)
內(nèi)容簡(jiǎn)介:

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

作者簡(jiǎn)介:

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

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

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

  許敏,軟件工程師,2005年獲得軟件測(cè)試工程師證書(shū)?,F(xiàn)任職于中國(guó)人民銀行合肥中心支行科技處,負(fù)責(zé)項(xiàng)目管理工作。可以通過(guò)Email與她聯(lián)系。

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