C++多線程編程實戰
內容描述
<內容介紹>
留莫維奇著的《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應用程序的安裝步驟,並演示了它的使用步驟。 《C++多線程編程實戰》主要面向中高級讀者,可作為用C++進行Windows多線程編程的參考讀物。本書介紹的同步概念非常基礎,因此也可作為對這方面技術感興趣的讀者和開發人員的參考書籍。
<章節目錄>
第1章 C++概念和特性簡介 1.1 介紹 1.2 創建C++項目 1.3 程序結構、執行流和運行時對象 1.4 結構化編程方法 1.5 理解面向對象編程方法 1.6 解釋繼承、重載和覆蓋 1.7 理解多態 1.8 事件處理器和消息傳遞接口 1.9 鏈表、隊列和棧示例第2章 進程和線程的概念 2.1 簡介 2.2 進程和線程 2.3 解釋進程模型 2.4 進程的實現 2.5 進程間通信(IPC) 2.6 解決典型的IPC問題 2.7 線程模型的實現 2.8 線程的用法 2.9 在用戶空間實現線程 2.10 在內核實現線程第3章 管理進程 3.1 介紹 3.2 進程和線程 3.3 協作式和搶佔式多任務處理 3.4 解釋Windows線程對象 3.5 基本線程管理 3.6 實現異步的線程 3.7 實現同步的線程 3.8 Win32同步對象和技術 3.8.1 同步對象:互斥量 3.8.2 同步對象:信號量 3.8.3 同步對象:事件 3.8.4 同步對象:臨界區第4章 消息傳遞 4.1 介紹 4.2 解釋消息傳遞接口 4.3 理解消息隊列 4.4 使用線程消息隊列 4.5 通過管道對象通信第5章 線程同步和併發操作 5.1 介紹 5.2 偽並行 5.3 理解進程和線程優先級 5.4 Windows分發器對象和調度 5.5 使用互斥量 5.6 使用信號量 5.7 使用事件 5.8 使用臨界區 5.9 使用管道
第6章 .NET框架中的線程 6.1 介紹 6.2 托管代碼和非托管代碼 6.3 如何在.NET中運行線程 6.4 前臺線程和後台線程的區別 6.5 理解.NET同步要素 6.6 鎖和避免死鎖 6.7 線程安全和.NET框架的類型 6.8 事件等待句柄的觸發 6.9 基於事件的異步模式 6.10 BackgoundWorker類 6.11 中斷、中止和安全取消線程執行 6.12 非阻塞同步 6.13 Wait和Pulse觸發 6.14 Barrier類第7章 理解併發代碼設計 7.1 介紹 7.2 如何設計並行應用程序 7.3 理解代碼設計中的並行 7.4 轉向並行 7.5 改進性能因素第8章 高級線程管理 8.1 介紹 8.2 使用線程池 8.3 定製線程池分發器 8.4 使用遠程線程 附 錄 A.1 安裝MySQL Connec A.2 安裝WinDDK-Driver開發套件 A.3 設置驅動器編譯的Visual Studio項目 A.4 使用DebugView應用程序 A.5 設置OpenMP編譯的Visual Studio項目