《C++多執行緒編程實戰》是2016年人民郵電出版社出版的圖書,作者是[黑山共和國] 米洛斯·留莫維奇 ( MilosLjumovic )。
基本介紹
圖書簡介,目錄,
圖書簡介
《C++多執行緒編程實戰》共8章。第1章介紹了C++程式語言的概念和特性。
第2~5章介紹了進程、執行緒、同步、並發的相關知識。其中,第2章介紹進程和執行緒的基本概念,詳細介紹了進程和執行緒對象。第3章講解執行緒管理方面的知識,以及進程和執行緒背後的邏輯,簡要介紹了執行緒同步、同步對象和企邀組同步技術。第4章重點介紹了訊息傳遞技術、視窗處理器、訊息佇列和管道通信。第5章介紹了執行緒同步和並發操作,講解了並行、優先權、分發器對象和調度技術,解釋了同步對象(如互斥量、信號量、事件和臨界區)。第6章介紹.NET框架中的執行緒,概述了C++/CLI .NET執行緒對象。簡要介紹了託管方法、.NET同步要素、.NET執行緒安全、基於事件的異步模式和BackgroundWorker對象,以及其他主題。第7~8章為水平較高的讀者準備了一些高級知識,概述了並發設計和高級執行緒管理。其中,第7章講解理解並發代碼設計,涵蓋了諸如性能因素、正確性問題、活躍性問題的特性。第8章講解高級執行緒管理,重點介紹更高級的執行緒管理知識。詳細介紹了執行緒池的抽象、定製分發對象,以及死鎖的解決方案。附錄涵蓋了MySQL Connector C和WinDDK的具體安裝步驟,介紹了如何為驅動程式編譯和OpenMP編譯設定Visual Studio。另外,還介紹了DebugView應用程式的安裝步驟,並演示了它的使用步驟。
目錄
第1章 C++概念和特影邀簽性簡介 1
1.1 介紹 1
1.2 創建C++項目 2
1.3 程式結構、執行流和運行時對象 3
1.4 結構化編程方法 7
1.5 理解面向對象編程方法 9
1.6 解釋繼承、重載和覆蓋 11
1.7 理解多態 15
1.8 事件處理器和訊息傳遞接口 18
1.9 鍊表、佇列和棧示例 22
第2章 進程和執行緒的概念 31
2.1 簡介 31
2.2 進程和執行緒 31
2.3 解釋進程模型 32
2.4 龍灑格精進程的實現 36
2.5 進程間通信(IPC) 39
2.6 解決典型的IPC問題 47
2.7 執行緒模型的實現 55
2.8 執行緒的用法 60
2.9 在用戶空間實現執行緒 66
2.10 在核心實現執行緒 73
第3章 管理進程 79
3.1 介紹 79
3.2 進程和執行緒 80
3.3 協作式和搶占式多任務處理 83
3.4 解釋Windows執行緒對象 84
3.5 基本執行緒管理 85
3.6 實現異步的執行緒 92
3.7 實現同步的執行緒 97
3.8 Win32同步對象和技術 101
3.8.1 同步對象:互斥量 102
3.8.2 同步對象:信號量 103
3.8.3 同步對象:事件 104
3.8.4 同步對象:臨界區 105
第4章 訊息傳遞 107
4.1 介紹 107
4.2 解釋訊息傳遞接口 108
4.3 理解訊息佇列 112
4.4 使用執行緒訊息佇列 118
4.5 通過管道對象通信 122
第5章 執行緒同步和並發操作 祖棗虹127
5.1 介紹 127
5.2 偽並行 127
5.3 理解進程和執行緒優先權 128
5.4 Windows分發器對象和調度 134
5.5 使用互斥量 135
5.6 使用信號量 143
5.7 使用事件 150
5.8 使用臨界區 157
5.9 使用管道 164
第6章 .NET框架中的執行緒 177
6.1 介紹 177
6.2 託管代碼和非託管代碼 177
6.3 如何在.NET中運行執行緒 179
6.4 前台執行緒和後台執行緒的區別 185
6.5 理解.NET同步要素 188
6.6 鎖和避免死鎖 193
6.7 執行緒安全和.NET框架的類型 198
6.8 事件等待句柄的觸發 200
6.9 基於事件的異邀體拘步模式 204
6.10 BackgoundWorker類 210
6.11 中斷、中止和安全取消執行緒執行 214
6.12 非阻塞同步 222
6.13 Wait和Pulse觸發 224
6.14 Barrier類 228
第7章 理解並發代碼設計 235
7.1 介紹 235
7.2 如何設計並行應用程式 235
7.3 理解代碼設計中的並行 240
7.4 轉向並行 246
7.5 改進性能因素 252
第8章 高級執行緒管理 259
8.1 介紹 259
8.2 使用執行緒擔設池只記遷芝 259
8.3 定製執行緒池分發器 269
8.4 使用遠程執行緒 283
附 錄 A 291
A.1 安裝MySQL Connector/C 291
A.2 安裝WinDDK-Driver開發套件 294
A.3 設定驅動器編譯的Visual Studio項目 296
A.4 使用DebugView應用程式 301
A.5 設定OpenMP編譯的Visual Studio項目 302
4.2 解釋訊息傳遞接口 108
4.3 理解訊息佇列 112
4.4 使用執行緒訊息佇列 118
4.5 通過管道對象通信 122
第5章 執行緒同步和並發操作 127
5.1 介紹 127
5.2 偽並行 127
5.3 理解進程和執行緒優先權 128
5.4 Windows分發器對象和調度 134
5.5 使用互斥量 135
5.6 使用信號量 143
5.7 使用事件 150
5.8 使用臨界區 157
5.9 使用管道 164
第6章 .NET框架中的執行緒 177
6.1 介紹 177
6.2 託管代碼和非託管代碼 177
6.3 如何在.NET中運行執行緒 179
6.4 前台執行緒和後台執行緒的區別 185
6.5 理解.NET同步要素 188
6.6 鎖和避免死鎖 193
6.7 執行緒安全和.NET框架的類型 198
6.8 事件等待句柄的觸發 200
6.9 基於事件的異步模式 204
6.10 BackgoundWorker類 210
6.11 中斷、中止和安全取消執行緒執行 214
6.12 非阻塞同步 222
6.13 Wait和Pulse觸發 224
6.14 Barrier類 228
第7章 理解並發代碼設計 235
7.1 介紹 235
7.2 如何設計並行應用程式 235
7.3 理解代碼設計中的並行 240
7.4 轉向並行 246
7.5 改進性能因素 252
第8章 高級執行緒管理 259
8.1 介紹 259
8.2 使用執行緒池 259
8.3 定製執行緒池分發器 269
8.4 使用遠程執行緒 283
附 錄 A 291
A.1 安裝MySQL Connector/C 291
A.2 安裝WinDDK-Driver開發套件 294
A.3 設定驅動器編譯的Visual Studio項目 296
A.4 使用DebugView應用程式 301
A.5 設定OpenMP編譯的Visual Studio項目 302