日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
C++并發(fā)編程實戰(zhàn)圖書
人氣:73

C++并發(fā)編程實戰(zhàn)

《C++并發(fā)編程實戰(zhàn)》是一本基于C++11新標準的并發(fā)和多線程編程深度指南。內容包括從std::thread、std::mutex、std::future和std::async等基礎類的使用,到內存模型和原子操作、基于鎖和無鎖數(shù)據(jù)結構的構建。

內容簡介

《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線程庫的參考工具書。

編輯推薦

基于C++11新標準的并發(fā)和多線程編程深度指南,幫助你循序漸進地學習用C++11編寫健壯且優(yōu)雅的多線程應用程序。

針對C++11新標準編寫代碼;針對多核多處理器編寫程序;用于學習的小例子,用于實踐的大例子。

如果你打算用C++編寫多線程代碼,你就應該閱讀本書。如果你正要使用C++標準庫中新的多線程工具,這本書是必備的指南。如果你正使用替代的線程庫,后面幾章中的指引和技巧應該也是有用的。

具有多核的多處理器現(xiàn)已成為標配。C++語言的C++11版本為多線程應用程序提供了強大的支持,你需要掌握其原理、技巧以及新的并發(fā)語言特性,才能獨領風騷。

本書幫助你循序漸進地學習用C++11編寫健壯且優(yōu)雅的多線程應用程序。你將學習線程內存模型、新的線程支持庫,以及基礎的線程啟動和同步功能。與此同時,你還將學到如何解決并發(fā)應用程序中的棘手問題。

本書具有以下特色:

針對C++11新標準編寫代碼;

針對多核多處理器編寫程序;

用于學習的小例子,用于實踐的大例子。

本書適合新接觸并發(fā)編程的C++程序員,以及曾經(jīng)使用別的語言、API或平臺編寫過多線程代碼的程序員閱讀。

作者簡介

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

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

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

許敏,軟件工程師,2005年獲得軟件測試工程師證書。現(xiàn)任職于中國人民銀行合肥中心支行科技處,負責項目管理工作。可以通過Email: xu_min@sina.com與她聯(lián)系。

目錄

第1章 你好,C++并發(fā)世界

1.1 什么是并發(fā)

1.1.1 計算機系統(tǒng)中的并發(fā)

1.1.2 并發(fā)的途徑

1.2 為什么使用并發(fā)

1.2.1 為了劃分關注點而使用并發(fā)

1.2.2 為了性能而使用并發(fā)

1.2.3 什么時候不使用并發(fā)

1.3 在C++中使用并發(fā)和多線程

1.3.1 C++多線程歷程

1.3.2 新標準中的并發(fā)支持

1.3.3 C++線程庫的效率

1.3.4 平臺相關的工具

1.4 開始入門

1.5 小結

第2章 管理線程

2.1 基本線程管理

2.1.1 啟動線程

2.1.2 等待線程完成

2.1.3 在異常環(huán)境下的等待

2.1.4 在后臺運行線程

2.2 傳遞參數(shù)給線程函數(shù)

2.3 轉移線程的所有權

2.4 在運行時選擇線程數(shù)量

2.5 標識線程

2.6 小結

第3章 在線程間共享數(shù)據(jù)

3.1 線程之間共享數(shù)據(jù)的問題

3.1.1 競爭條件

3.1.2 避免有問題的競爭條件

3.2 用互斥元保護共享數(shù)據(jù)

3.2.1 使用C++中的互斥元

3.2.2 為保護共享數(shù)據(jù)精心組織代碼

3.2.3 發(fā)現(xiàn)接口中固有的競爭條件

3.2.4 死鎖:問題和解決方案

3.2.5 避免死鎖的進一步指南

3.2.6 用std::unique_lock靈活鎖定

3.2.7 在作用域之間轉移鎖的所有權

3.2.8 鎖定在恰當?shù)牧6?/p>

3.3 用于共享數(shù)據(jù)保護的替代工具

3.3.1 在初始化時保護共享數(shù)據(jù)

3.3.2 保護很少更新的數(shù)據(jù)結構

3.3.3 遞歸鎖

3.4 小結

第4章 同步并發(fā)操作

4.1 等待事件或其他條件

4.1.1 用條件變量等待條件

4.1.2 使用條件變量建立一個線程安全隊列

4.2 使用future等待一次性事件

4.2.1 從后臺任務中返回值

4.2.2 將任務與future相關聯(lián)

4.2.3 生成(std::)promise

4.2.4 為future保存異常

4.2.5 等待自多個線程

4.3 有時間限制的等待

4.3.1 時鐘

4.3.2 時間段

4.3.3 時間點

4.3.4 接受超時的函數(shù)

4.4 使用操作同步來簡化代碼

4.4.1 帶有future的函數(shù)式編程

4.4.2 具有消息傳遞的同步操作

4.5 小結

第5章 C++內存模型和原子

類型上操作

5.1 內存模型基礎

5.1.1 對象和內存位置

5.1.2 對象、內存位置以及并發(fā)

5.1.3 修改順序

5.2 C++中的原子操作及類型

5.2.1 標準原子類型

5.2.2 std::atomic_flag上的操作

5.2.3 基于std::atomic的操作

5.2.4 std::atomic上的操作:指針算術運算

5.2.5 標準原子整型的操作

5.2.6 std::atomic初級類模板

5.2.7 原子操作的自由函數(shù)

5.3 同步操作和強制順序

5.3.1 synchronizes-with關系

5.3.2 happens-before關系

5.3.3 原子操作的內存順序

5.3.4 釋放序列和synchronizes-with

5.3.5 屏障

5.3.6 用原子操作排序非原子操作

5.4 小結

第6章 設計基于鎖的并發(fā)數(shù)據(jù)結構

6.1 為并發(fā)設計的含義是什么

6.2 基于鎖的并發(fā)數(shù)據(jù)結構

6.2.1 使用鎖的線程安全棧

6.2.2 使用鎖和條件變量的線程安全隊列

6.2.3 使用細粒度鎖和條件變量的線程安全隊列

6.3 設計更復雜的基于鎖的數(shù)據(jù)結構

6.3.1 編寫一個使用鎖的線程安全查找表

6.3.2 編寫一個使用鎖的線程安全鏈表

6.4 小結

第7章 設計無鎖的并發(fā)數(shù)據(jù)結構

7.1 定義和結果

7.1.1 非阻塞數(shù)據(jù)結構的類型

7.1.2 無鎖數(shù)據(jù)結構

7.1.3 無等待的數(shù)據(jù)結構

7.1.4 無鎖數(shù)據(jù)結構的優(yōu)點與缺點

7.2 無鎖數(shù)據(jù)結構的例子

7.2.1 編寫不用鎖的線程安全棧

7.2.2 停止惱人的泄漏:在無鎖數(shù)據(jù)結構中管理內存

7.2.3 用風險指針檢測不能被回收的結點

7.2.4 使用引用計數(shù)檢測結點

7.2.5 將內存模型應用至無鎖棧

7.2.6 編寫不用鎖的線程安全隊列

7.3 編寫無鎖數(shù)據(jù)結構的準則

7.3.1 準則:使用std::memory_order_seq_cst作為原型

7.3.2 準則:使用無鎖內存回收模式

7.3.3 準則:當心ABA問題

7.3.4 準則:識別忙于等待的循環(huán)以及輔助其他線程

7.4 小結

第8章 設計并發(fā)代碼

8.1 在線程間劃分工作的技術

8.1.1 處理開始前在線程間劃分數(shù)據(jù)

8.1.2 遞歸地劃分數(shù)據(jù)

8.1.3 以任務類型劃分工作

8.2 影響并發(fā)代碼性能的因素

8.2.1 有多少個處理器

8.2.2 數(shù)據(jù)競爭和乒乓緩存

8.2.3 假共享

8.2.4 數(shù)據(jù)應該多緊密

8.2.5 過度訂閱和過多的任務切換

8.3 為多線程性能設計數(shù)據(jù)結構

8.3.1 為復雜操作劃分數(shù)組元素

8.3.2 其他數(shù)據(jù)結構中的數(shù)據(jù)訪問方式

8.4 為并發(fā)設計時的額外考慮

8.4.1 并行算法中的異常安全

8.4.2 可擴展性和阿姆達爾定律

8.4.3 用多線程隱藏延遲

8.4.4 用并發(fā)提高響應性

8.5 在實踐中設計并發(fā)代碼

8.5.1 std::for_each的并行實現(xiàn)

8.5.2 std::find的并行實現(xiàn)

8.5.3 std::partial_sum的并行實現(xiàn)

8.6 總結

第9章 高級線程管理

9.1 線程池

9.1.1 最簡單的線程池

9.1.2 等待提交給線程池的任務

9.1.3 等待其他任務的任務

9.1.4 避免工作隊列上的競爭

9.1.5 工作竊取

9.2 中斷線程

9.2.1 啟動和中斷另一個線程

9.2.2 檢測一個線程是否被中斷

9.2.3 中斷等待條件變量

9.2.4 中斷在std::condition_variable_ any上的等待

9.2.5 中斷其他阻塞調用

9.2.6 處理中斷

9.2.7 在應用退出時中斷后臺任務

9.3 總結

第10章 多線程應用的測試與調試

10.1 并發(fā)相關錯誤的類型

10.1.1 不必要的阻塞

10.1.2 競爭條件

10.2 定位并發(fā)相關的錯誤的技巧

10.2.1 審閱代碼以定位潛在的錯誤

10.2.2 通過測試定位并發(fā)相關的錯誤

10.2.3 可測試性設計

10.2.4 多線程測試技術

10.2.5 構建多線程的測試代碼

10.2.6 測試多線程代碼的性能

10.3 總結

附錄A 附錄A C++11部分

語言特性簡明

參考

附錄B 并發(fā)類庫

媒體評論

"有思想、有深度的指南,從專業(yè)人士那兒來的及時手資料。"

——Neil Horlock,Credit Suisse

"簡化了C++多線程的黑魔法"。

—Rick Wagner,Red Hat

"讀這本書讓我頭痛,但痛定思痛"。

—Joshua Heyer,Ingersoll Rand

"作者展示了如何將并發(fā)變?yōu)楝F(xiàn)實。"

—Roger Orr,OR/2 Limited

網(wǎng)友評論(不代表本站觀點)

來自showmet**的評論:

很好,么么噠

2015-05-30 11:22:14
來自葉紫孤**的評論:

對我?guī)椭艽螅脕泶蚧A的

2015-08-06 09:56:51
來自xueshan**的評論:

不錯

2015-08-24 00:14:05
來自無昵稱**的評論:

內容很詳細

2015-10-30 20:14:17
來自無昵稱**的評論:

還不錯

2015-11-19 13:08:04
來自sosoyey**的評論:

朋友介紹的,還沒看

2015-12-12 13:57:16
來自無昵稱**的評論:

對參與此次美方向臺灣出售武器的企業(yè)實施制裁

2015-12-17 16:18:15
來自suka123**的評論:

好書

2016-01-30 17:58:03
來自愛一個**的評論:

好,實惠,快捷。

2016-02-18 21:37:09
來自wishern**的評論:

世上最牛的騙人之書

2016-03-01 15:39:55
來自michael**的評論:

在看中

2016-03-19 12:35:51
來自無昵稱**的評論:

加油

2016-04-14 10:05:44
來自圍巾的**的評論:

這本書很好,內容非常豐富,讓我感覺很多面,收獲很大。

2016-04-23 23:19:42
來自無昵稱**的評論:

不錯

2016-05-12 14:50:34
來自無昵稱**的評論:

不錯

2016-06-16 22:25:29
來自圈圈甜**的評論:

???2009

2016-08-12 02:00:08
來自心慢慢**的評論:

2016-10-08 12:42:50
來自無昵稱**的評論:

非常不錯

2016-11-23 09:24:59
來自來***頭**的評論:

不錯 正品 值得買

2017-03-01 11:11:03
來自努***兒**的評論:

書很快就收到了,內容應該不錯,先看了再說。

2017-05-27 12:23:02
來自也***變**的評論:

不錯,很滿意

2017-07-24 00:29:31
來自無昵稱**的評論:

不錯不錯!

2017-10-31 11:38:02
來自無昵稱**的評論:

太惡心了,買了四本,結果回來三本

2017-11-03 14:43:47
來自風火山**的評論:

拆封過的,背面有些污漬,我對書的紙質要求挺高的,有點小失望。內容還沒看

2015-11-27 00:39:48
來自migsoft**的評論:

翻譯有不少問題,文字錯漏也比較多。但是還是要鼓勵一下譯者。

2016-12-12 16:15:32
來自無昵稱**的評論:

啊,C++真有趣!!!!!多線程是基礎,接下來要搞定mpi

2016-10-27 10:55:42
來自當***摳**的評論:

書不錯,送貨也快,只是包裝讓人心驚膽戰(zhàn)的,提個建議書少的話,改用信封包裝對書保護就好了。

2017-05-30 17:30:59

免責聲明

更多出版社