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

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

C++并發(fā)編程實(shí)戰(zhà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)存模型和原子操作、基于鎖和無(wú)鎖數(shù)據(jù)結(jié)構(gòu)的構(gòu)建。

內(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)存模型和原子操作、基于鎖和無(wú)鎖數(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ū)。

編輯推薦

基于C++11新標(biāo)準(zhǔn)的并發(fā)和多線程編程深度指南,幫助你循序漸進(jìn)地學(xué)習(xí)用C++11編寫(xiě)健壯且優(yōu)雅的多線程應(yīng)用程序。

針對(duì)C++11新標(biāo)準(zhǔn)編寫(xiě)代碼;針對(duì)多核多處理器編寫(xiě)程序;用于學(xué)習(xí)的小例子,用于實(shí)踐的大例子。

如果你打算用C++編寫(xiě)多線程代碼,你就應(yīng)該閱讀本書(shū)。如果你正要使用C++標(biāo)準(zhǔn)庫(kù)中新的多線程工具,這本書(shū)是必備的指南。如果你正使用替代的線程庫(kù),后面幾章中的指引和技巧應(yīng)該也是有用的。

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

本書(shū)幫助你循序漸進(jìn)地學(xué)習(xí)用C++11編寫(xiě)健壯且優(yōu)雅的多線程應(yīng)用程序。你將學(xué)習(xí)線程內(nèi)存模型、新的線程支持庫(kù),以及基礎(chǔ)的線程啟動(dòng)和同步功能。與此同時(shí),你還將學(xué)到如何解決并發(fā)應(yīng)用程序中的棘手問(wèn)題。

本書(shū)具有以下特色:

針對(duì)C++11新標(biāo)準(zhǔn)編寫(xiě)代碼;

針對(duì)多核多處理器編寫(xiě)程序;

用于學(xué)習(xí)的小例子,用于實(shí)踐的大例子。

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

作者簡(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: spadeq@live.com與他聯(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: hfut_szz@sina.com與她聯(lián)系。

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

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

目錄

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

1.1 什么是并發(fā)

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

1.1.2 并發(fā)的途徑

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

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

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

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

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

1.3.1 C++多線程歷程

1.3.2 新標(biāo)準(zhǔn)中的并發(fā)支持

1.3.3 C++線程庫(kù)的效率

1.3.4 平臺(tái)相關(guān)的工具

1.4 開(kāi)始入門(mén)

1.5 小結(jié)

第2章 管理線程

2.1 基本線程管理

2.1.1 啟動(dòng)線程

2.1.2 等待線程完成

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

2.1.4 在后臺(tái)運(yùn)行線程

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

2.3 轉(zhuǎn)移線程的所有權(quán)

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

2.5 標(biāo)識(shí)線程

2.6 小結(jié)

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

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

3.1.1 競(jìng)爭(zhēng)條件

3.1.2 避免有問(wèn)題的競(jìng)爭(zhēng)條件

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

3.2.1 使用C++中的互斥元

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

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

3.2.4 死鎖:?jiǎn)栴}和解決方案

3.2.5 避免死鎖的進(jìn)一步指南

3.2.6 用std::unique_lock靈活鎖定

3.2.7 在作用域之間轉(zhuǎn)移鎖的所有權(quán)

3.2.8 鎖定在恰當(dāng)?shù)牧6?/p>

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

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

3.3.2 保護(hù)很少更新的數(shù)據(jù)結(jié)構(gòu)

3.3.3 遞歸鎖

3.4 小結(jié)

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

4.1 等待事件或其他條件

4.1.1 用條件變量等待條件

4.1.2 使用條件變量建立一個(gè)線程安全隊(duì)列

4.2 使用future等待一次性事件

4.2.1 從后臺(tái)任務(wù)中返回值

4.2.2 將任務(wù)與future相關(guān)聯(lián)

4.2.3 生成(std::)promise

4.2.4 為future保存異常

4.2.5 等待自多個(gè)線程

4.3 有時(shí)間限制的等待

4.3.1 時(shí)鐘

4.3.2 時(shí)間段

4.3.3 時(shí)間點(diǎn)

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

4.4 使用操作同步來(lái)簡(jiǎn)化代碼

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

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

4.5 小結(jié)

第5章 C++內(nèi)存模型和原子

類(lèi)型上操作

5.1 內(nèi)存模型基礎(chǔ)

5.1.1 對(duì)象和內(nèi)存位置

5.1.2 對(duì)象、內(nèi)存位置以及并發(fā)

5.1.3 修改順序

5.2 C++中的原子操作及類(lèi)型

5.2.1 標(biāo)準(zhǔn)原子類(lèi)型

5.2.2 std::atomic_flag上的操作

5.2.3 基于std::atomic的操作

5.2.4 std::atomic上的操作:指針?biāo)阈g(shù)運(yùn)算

5.2.5 標(biāo)準(zhǔn)原子整型的操作

5.2.6 std::atomic初級(jí)類(lèi)模板

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

5.3 同步操作和強(qiáng)制順序

5.3.1 synchronizes-with關(guān)系

5.3.2 happens-before關(guān)系

5.3.3 原子操作的內(nèi)存順序

5.3.4 釋放序列和synchronizes-with

5.3.5 屏障

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

5.4 小結(jié)

第6章 設(shè)計(jì)基于鎖的并發(fā)數(shù)據(jù)結(jié)構(gòu)

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

6.2 基于鎖的并發(fā)數(shù)據(jù)結(jié)構(gòu)

6.2.1 使用鎖的線程安全棧

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

6.2.3 使用細(xì)粒度鎖和條件變量的線程安全隊(duì)列

6.3 設(shè)計(jì)更復(fù)雜的基于鎖的數(shù)據(jù)結(jié)構(gòu)

6.3.1 編寫(xiě)一個(gè)使用鎖的線程安全查找表

6.3.2 編寫(xiě)一個(gè)使用鎖的線程安全鏈表

6.4 小結(jié)

第7章 設(shè)計(jì)無(wú)鎖的并發(fā)數(shù)據(jù)結(jié)構(gòu)

7.1 定義和結(jié)果

7.1.1 非阻塞數(shù)據(jù)結(jié)構(gòu)的類(lèi)型

7.1.2 無(wú)鎖數(shù)據(jù)結(jié)構(gòu)

7.1.3 無(wú)等待的數(shù)據(jù)結(jié)構(gòu)

7.1.4 無(wú)鎖數(shù)據(jù)結(jié)構(gòu)的優(yōu)點(diǎn)與缺點(diǎn)

7.2 無(wú)鎖數(shù)據(jù)結(jié)構(gòu)的例子

7.2.1 編寫(xiě)不用鎖的線程安全棧

7.2.2 停止惱人的泄漏:在無(wú)鎖數(shù)據(jù)結(jié)構(gòu)中管理內(nèi)存

7.2.3 用風(fēng)險(xiǎn)指針檢測(cè)不能被回收的結(jié)點(diǎn)

7.2.4 使用引用計(jì)數(shù)檢測(cè)結(jié)點(diǎn)

7.2.5 將內(nèi)存模型應(yīng)用至無(wú)鎖棧

7.2.6 編寫(xiě)不用鎖的線程安全隊(duì)列

7.3 編寫(xiě)無(wú)鎖數(shù)據(jù)結(jié)構(gòu)的準(zhǔn)則

7.3.1 準(zhǔn)則:使用std::memory_order_seq_cst作為原型

7.3.2 準(zhǔn)則:使用無(wú)鎖內(nèi)存回收模式

7.3.3 準(zhǔn)則:當(dāng)心ABA問(wèn)題

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

7.4 小結(jié)

第8章 設(shè)計(jì)并發(fā)代碼

8.1 在線程間劃分工作的技術(shù)

8.1.1 處理開(kāi)始前在線程間劃分?jǐn)?shù)據(jù)

8.1.2 遞歸地劃分?jǐn)?shù)據(jù)

8.1.3 以任務(wù)類(lèi)型劃分工作

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

8.2.1 有多少個(gè)處理器

8.2.2 數(shù)據(jù)競(jìng)爭(zhēng)和乒乓緩存

8.2.3 假共享

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

8.2.5 過(guò)度訂閱和過(guò)多的任務(wù)切換

8.3 為多線程性能設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)

8.3.1 為復(fù)雜操作劃分?jǐn)?shù)組元素

8.3.2 其他數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)訪問(wèn)方式

8.4 為并發(fā)設(shè)計(jì)時(shí)的額外考慮

8.4.1 并行算法中的異常安全

8.4.2 可擴(kuò)展性和阿姆達(dá)爾定律

8.4.3 用多線程隱藏延遲

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

8.5 在實(shí)踐中設(shè)計(jì)并發(fā)代碼

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

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

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

8.6 總結(jié)

第9章 高級(jí)線程管理

9.1 線程池

9.1.1 最簡(jiǎn)單的線程池

9.1.2 等待提交給線程池的任務(wù)

9.1.3 等待其他任務(wù)的任務(wù)

9.1.4 避免工作隊(duì)列上的競(jìng)爭(zhēng)

9.1.5 工作竊取

9.2 中斷線程

9.2.1 啟動(dòng)和中斷另一個(gè)線程

9.2.2 檢測(cè)一個(gè)線程是否被中斷

9.2.3 中斷等待條件變量

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

9.2.5 中斷其他阻塞調(diào)用

9.2.6 處理中斷

9.2.7 在應(yīng)用退出時(shí)中斷后臺(tái)任務(wù)

9.3 總結(jié)

第10章 多線程應(yīng)用的測(cè)試與調(diào)試

10.1 并發(fā)相關(guān)錯(cuò)誤的類(lèi)型

10.1.1 不必要的阻塞

10.1.2 競(jìng)爭(zhēng)條件

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

10.2.1 審閱代碼以定位潛在的錯(cuò)誤

10.2.2 通過(guò)測(cè)試定位并發(fā)相關(guān)的錯(cuò)誤

10.2.3 可測(cè)試性設(shè)計(jì)

10.2.4 多線程測(cè)試技術(shù)

10.2.5 構(gòu)建多線程的測(cè)試代碼

10.2.6 測(cè)試多線程代碼的性能

10.3 總結(jié)

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

語(yǔ)言特性簡(jiǎn)明

參考

附錄B 并發(fā)類(lèi)庫(kù)

媒體評(píng)論

"有思想、有深度的指南,從專(zhuān)業(yè)人士那兒來(lái)的及時(shí)手資料。"

——Neil Horlock,Credit Suisse

"簡(jiǎn)化了C++多線程的黑魔法"。

—Rick Wagner,Red Hat

"讀這本書(shū)讓我頭痛,但痛定思痛"。

—Joshua Heyer,Ingersoll Rand

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

—Roger Orr,OR/2 Limited

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

來(lái)自showmet**的評(píng)論:

很好,么么噠

2015-05-30 11:22:14
來(lái)自葉紫孤**的評(píng)論:

對(duì)我?guī)椭艽螅脕?lái)打基礎(chǔ)的

2015-08-06 09:56:51
來(lái)自xueshan**的評(píng)論:

不錯(cuò)

2015-08-24 00:14:05
來(lái)自無(wú)昵稱(chēng)**的評(píng)論:

內(nèi)容很詳細(xì)

2015-10-30 20:14:17
來(lái)自無(wú)昵稱(chēng)**的評(píng)論:

還不錯(cuò)

2015-11-19 13:08:04
來(lái)自sosoyey**的評(píng)論:

朋友介紹的,還沒(méi)看

2015-12-12 13:57:16
來(lái)自無(wú)昵稱(chēng)**的評(píng)論:

對(duì)參與此次美方向臺(tái)灣出售武器的企業(yè)實(shí)施制裁

2015-12-17 16:18:15
來(lái)自suka123**的評(píng)論:

好書(shū)

2016-01-30 17:58:03
來(lái)自愛(ài)一個(gè)**的評(píng)論:

好,實(shí)惠,快捷。

2016-02-18 21:37:09
來(lái)自wishern**的評(píng)論:

世上最牛的騙人之書(shū)

2016-03-01 15:39:55
來(lái)自michael**的評(píng)論:

在看中

2016-03-19 12:35:51
來(lái)自無(wú)昵稱(chēng)**的評(píng)論:

加油

2016-04-14 10:05:44
來(lái)自圍巾的**的評(píng)論:

這本書(shū)很好,內(nèi)容非常豐富,讓我感覺(jué)很多面,收獲很大。

2016-04-23 23:19:42
來(lái)自無(wú)昵稱(chēng)**的評(píng)論:

不錯(cuò)

2016-05-12 14:50:34
來(lái)自無(wú)昵稱(chēng)**的評(píng)論:

不錯(cuò)

2016-06-16 22:25:29
來(lái)自圈圈甜**的評(píng)論:

???2009

2016-08-12 02:00:08
來(lái)自心慢慢**的評(píng)論:

2016-10-08 12:42:50
來(lái)自無(wú)昵稱(chēng)**的評(píng)論:

非常不錯(cuò)

2016-11-23 09:24:59
來(lái)自來(lái)***頭**的評(píng)論:

不錯(cuò) 正品 值得買(mǎi)

2017-03-01 11:11:03
來(lái)自努***兒**的評(píng)論:

書(shū)很快就收到了,內(nèi)容應(yīng)該不錯(cuò),先看了再說(shuō)。

2017-05-27 12:23:02
來(lái)自也***變**的評(píng)論:

不錯(cuò),很滿(mǎn)意

2017-07-24 00:29:31
來(lái)自無(wú)昵稱(chēng)**的評(píng)論:

不錯(cuò)不錯(cuò)!

2017-10-31 11:38:02
來(lái)自無(wú)昵稱(chēng)**的評(píng)論:

太惡心了,買(mǎi)了四本,結(jié)果回來(lái)三本

2017-11-03 14:43:47
來(lái)自風(fēng)火山**的評(píng)論:

拆封過(guò)的,背面有些污漬,我對(duì)書(shū)的紙質(zhì)要求挺高的,有點(diǎn)小失望。內(nèi)容還沒(méi)看

2015-11-27 00:39:48
來(lái)自migsoft**的評(píng)論:

翻譯有不少問(wèn)題,文字錯(cuò)漏也比較多。但是還是要鼓勵(lì)一下譯者。

2016-12-12 16:15:32
來(lái)自無(wú)昵稱(chēng)**的評(píng)論:

啊,C++真有趣!!!!!多線程是基礎(chǔ),接下來(lái)要搞定mpi

2016-10-27 10:55:42
來(lái)自當(dāng)***摳**的評(píng)論:

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

2017-05-30 17:30:59

免責(zé)聲明

更多出版社