日韩偷拍一区二区,国产香蕉久久精品综合网,亚洲激情五月婷婷,欧美日韩国产不卡

在線客服
C++并發編程實戰圖書
人氣:74

C++并發編程實戰

《C++并發編程實戰》是一本基于C++11新標準的并發和多線程編程深度指南。內容包括從std::thread、std::mutex、std::future和std::async等基礎類的使用,到內存模型和原子操作、基于鎖和無鎖數據結構的構建。
  • 所屬分類:圖書 >計算機/網絡>程序設計>C C++ C# VC VC++  
  • 作者:[美] [Anthony] [Williams] [威廉姆斯]
  • 產品參數:
  • 叢書名:--
  • 國際刊號:9787115387325
  • 出版社:人民郵電出版社
  • 出版時間:2015-06
  • 印刷時間:2015-05-15
  • 版次:1
  • 開本:16開
  • 頁數:--
  • 紙張:膠版紙
  • 包裝:平裝
  • 套裝:

內容簡介

《C++并發編程實戰》是一本基于C++11新標準的并發和多線程編程深度指南。內容包括從std::thread、std::mutex、std::future和std::async等基礎類的使用,到內存模型和原子操作、基于鎖和無鎖數據結構的構建,再擴展到并行算法、線程管理,還介紹了多線程代碼的測試工作。本書的附錄部分還對C++11新語言特性中與多線程相關的項目進行了簡要的介紹,并提供了C++11線程庫的完整參考。

《C++并發編程實戰》適合于需要深入了解C++多線程開發的讀者,以及使用C++進行各類軟件開發的開發人員、測試人員。對于使用第三方線程庫的讀者,也可以從本書后面的章節中了解到相關的指引和技巧。同時,本書還可以作為C++11線程庫的參考工具書。

編輯推薦

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

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

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

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

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

本書具有以下特色:

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

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

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

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

作者簡介

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

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

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

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

目錄

第1章 你好,C++并發世界

1.1 什么是并發

1.1.1 計算機系統中的并發

1.1.2 并發的途徑

1.2 為什么使用并發

1.2.1 為了劃分關注點而使用并發

1.2.2 為了性能而使用并發

1.2.3 什么時候不使用并發

1.3 在C++中使用并發和多線程

1.3.1 C++多線程歷程

1.3.2 新標準中的并發支持

1.3.3 C++線程庫的效率

1.3.4 平臺相關的工具

1.4 開始入門

1.5 小結

第2章 管理線程

2.1 基本線程管理

2.1.1 啟動線程

2.1.2 等待線程完成

2.1.3 在異常環境下的等待

2.1.4 在后臺運行線程

2.2 傳遞參數給線程函數

2.3 轉移線程的所有權

2.4 在運行時選擇線程數量

2.5 標識線程

2.6 小結

第3章 在線程間共享數據

3.1 線程之間共享數據的問題

3.1.1 競爭條件

3.1.2 避免有問題的競爭條件

3.2 用互斥元保護共享數據

3.2.1 使用C++中的互斥元

3.2.2 為保護共享數據精心組織代碼

3.2.3 發現接口中固有的競爭條件

3.2.4 死鎖:問題和解決方案

3.2.5 避免死鎖的進一步指南

3.2.6 用std::unique_lock靈活鎖定

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

3.2.8 鎖定在恰當的粒度

3.3 用于共享數據保護的替代工具

3.3.1 在初始化時保護共享數據

3.3.2 保護很少更新的數據結構

3.3.3 遞歸鎖

3.4 小結

第4章 同步并發操作

4.1 等待事件或其他條件

4.1.1 用條件變量等待條件

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

4.2 使用future等待一次性事件

4.2.1 從后臺任務中返回值

4.2.2 將任務與future相關聯

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 接受超時的函數

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

4.4.1 帶有future的函數式編程

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

4.5 小結

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

類型上操作

5.1 內存模型基礎

5.1.1 對象和內存位置

5.1.2 對象、內存位置以及并發

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 原子操作的自由函數

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章 設計基于鎖的并發數據結構

6.1 為并發設計的含義是什么

6.2 基于鎖的并發數據結構

6.2.1 使用鎖的線程安全棧

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

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

6.3 設計更復雜的基于鎖的數據結構

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

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

6.4 小結

第7章 設計無鎖的并發數據結構

7.1 定義和結果

7.1.1 非阻塞數據結構的類型

7.1.2 無鎖數據結構

7.1.3 無等待的數據結構

7.1.4 無鎖數據結構的優點與缺點

7.2 無鎖數據結構的例子

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

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

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

7.2.4 使用引用計數檢測結點

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

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

7.3 編寫無鎖數據結構的準則

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

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

7.3.3 準則:當心ABA問題

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

7.4 小結

第8章 設計并發代碼

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

8.1.1 處理開始前在線程間劃分數據

8.1.2 遞歸地劃分數據

8.1.3 以任務類型劃分工作

8.2 影響并發代碼性能的因素

8.2.1 有多少個處理器

8.2.2 數據競爭和乒乓緩存

8.2.3 假共享

8.2.4 數據應該多緊密

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

8.3 為多線程性能設計數據結構

8.3.1 為復雜操作劃分數組元素

8.3.2 其他數據結構中的數據訪問方式

8.4 為并發設計時的額外考慮

8.4.1 并行算法中的異常安全

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

8.4.3 用多線程隱藏延遲

8.4.4 用并發提高響應性

8.5 在實踐中設計并發代碼

8.5.1 std::for_each的并行實現

8.5.2 std::find的并行實現

8.5.3 std::partial_sum的并行實現

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 并發相關錯誤的類型

10.1.1 不必要的阻塞

10.1.2 競爭條件

10.2 定位并發相關的錯誤的技巧

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

10.2.2 通過測試定位并發相關的錯誤

10.2.3 可測試性設計

10.2.4 多線程測試技術

10.2.5 構建多線程的測試代碼

10.2.6 測試多線程代碼的性能

10.3 總結

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

語言特性簡明

參考

附錄B 并發類庫

媒體評論

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

——Neil Horlock,Credit Suisse

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

—Rick Wagner,Red Hat

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

—Joshua Heyer,Ingersoll Rand

"作者展示了如何將并發變為現實。"

—Roger Orr,OR/2 Limited

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

來自showmet**的評論:

很好,么么噠

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

對我幫助很大,用來打基礎的

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
來自無昵稱**的評論:

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

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
來自當***摳**的評論:

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

2017-05-30 17:30:59

免責聲明

更多出版社
主站蜘蛛池模板: 阜新| 绥德县| 柳州市| 澜沧| 柘城县| 峨山| 开鲁县| 柘荣县| 林芝县| 新竹市| 罗田县| 郓城县| 东兰县| 临城县| 绵阳市| 博白县| 丰县| 宁波市| 土默特左旗| 堆龙德庆县| 离岛区| 达孜县| 云浮市| 武山县| 荥经县| 于都县| 衡阳市| 师宗县| 伊春市| 上犹县| 石河子市| 尖扎县| 获嘉县| 湾仔区| 大足县| 秀山| 郑州市| 林州市| 濮阳市| 黎川县| 石景山区|