1. 程式人生 > >《C++面向物件多執行緒程式設計》讀後感

《C++面向物件多執行緒程式設計》讀後感

開始時間:2010-10-19

結束時間:2010-12-12

閱讀方式:精讀,除附錄部分關於非WIN32系統外的API部分。

圖書介質:掃描PDF

讀後感

用了將近2個月的時間讀完了《C++面向物件多執行緒程式設計》這本書。市面上系統的介紹多執行緒技術的書並不是很多。當初選擇了這本書來讀很大層面上是因為譯者序言中的好評,尤其是“書中精闢之處令譯者愛不釋手甚至忘記了翻譯工作”的描述給我留下了深刻的印象。

這本書的主要內容我覺得可以大致分為三個部分,雖然三個部分並無明顯的分界而是互相雜糅。第一部分是關於C++面向物件技術的特點以及如何應用於多執行緒程式設計的介紹;第二部分是多執行緒使用C++面向物件技術實現的具體方式;第三部分是

POSIXWin32OS/2三個作業系統中提供的多執行緒操作相關API的介紹。

本書的特點是非常鮮明的。首先,它不拘泥於介紹多執行緒程式設計本身,而是將所有與多執行緒實現相關的C++面向物件知識進行詳細的介紹。比如它提到異常處理,就會詳細介紹異常處理的機制;提到STL就會將STL的結構做較為深入的剖析。所以,在看這本書時,很多時候像是在讀一本帶有超連結的電子書,將相關知識點漫遊式的一一瀏覽。而且這種介紹有不僅僅是照搬經典定義或教科書,而是充分融入了作者的思想,並且緊密結合了多執行緒技術的實現。閱讀後我對C++語言結構與各種機制的理解有了更深的認識,受益匪淺。

其次,是關於書的主體部分——利用

C++面向物件技術具體實現多執行緒的精闢實現。作者剝繭抽絲般逐層封裝、繼承,最終提供了一套完整的多執行緒實現方案。當看到最後的程式碼時,我不得不為之一動。因為這絕不僅僅是一個總結或者一種詮釋,更是一件不可多得的藝術品,令我歎為觀止。

最後,是這本書中所使用的示例程式碼。作者在書中穿插使用了POSIXWin32OS/2三種不同的作業系統下的API來對具體實現進行詮釋。並且在隨書光碟中提供了書中示例的三種版本的全部原始碼。在書中作者經常列舉三種API的同種功能語句並進行對比,大大拓展了我的思路。我在讀這本書時逐漸將“找到一種解決實際問題的方法”的心態轉變為“掌握一種解決一類問題的思路和方法”。

其他方面要提到的是這本書的翻譯工作做得十分到位,錯字、錯句也很少。只是在

300-350頁間出現錯誤略為頻繁,但總體來說還是非常不錯的。

至於缺點,這本書的附錄部分收錄了POSIXWin32OS/2三種作業系統關於多執行緒操作的API,用了150餘頁。對於一本500頁的書來說,確實多了些。另外,這種“超連結”式的風格,對於不需要重溫C++面向物件技術,只想快速找到解決實際問題架構的讀者來說顯然有些冗餘。除此之外,就沒有什麼缺點了。

總體來講,這是一本不可多得的好書,很多內容值得二次閱讀,細細玩味。