天天看點

《C++并發程式設計實戰》——第1章 你好,C++并發世界

本節書摘來自異步社群出版社《c++并發程式設計實戰》一書中的第1章,第1.1節,作者:【美】 anthony williams (威廉姆斯),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

c++并發程式設計實戰

本章主要内容

何謂并發和多線程

為什麼要在應用程式中使用并發和多線程

c++并發支援的發展曆程

一個簡單的c++多線程程式是什麼樣的

這是令c++使用者振奮的時刻。距1998年初始的c++标準釋出13年後,c++标準委員會給予程式語言和它的支援庫一次重大的變革。新的c++标準(也被稱為c++11或c++0x)于2011年釋出并帶來了很多的改變,使得c++的應用更加容易并富有成效。

在c++11标準中一個最重要的新特性就是支援多線程程式。這是c++标準第一次在語言中承認多線程應用的存在,并在庫中為編寫多線程應用程式提供元件。這将使得在不依賴平台相關擴充下編寫多線程c++程式成為可能,進而允許以有保證的行為來編寫可移植的多線程代碼。這也恰逢程式員尋求更多普遍的并發,特别是多線程程式,來提高應用程式的性能。

這本書講述的就是c++程式設計中對多線程并發的使用,以及相關的c++語言特性和庫工具。我會以解釋并發和多線程的含義以及為什麼要在應用程式中使用并發開始。在快速全方位地闡述為什麼在應用程式中會不使用并發之後,我會對c++中并發支援進行概述,并以一個簡單的c++并發執行個體結束這一章。具有開發多線程應用程式經驗的讀者可以跳過前面的小節。在随後幾章将會涵蓋更多廣泛的例子,并且更深入地了解庫工具。本書最後附有對多線程與并發全部的c++标準庫工具的深入參考。

那麼,什麼是并發(concurrency)和多線程(multithreading)?

繼續閱讀