本章主要內(nèi)容
令C++用戶振奮的時刻到了。距初始的C++標準(1998年)發(fā)布13年后,C++標準委員會給語言本身,以及標準庫,帶來了一次重大的變革。
新C++標準(也被稱為C++11或C++0x)在2011年發(fā)布,帶來一系列的變革讓C++編程更加簡單和高效。
其中一個最重要的新特性就是對多線程的支持。
C++標準第一次承認多線程在語言中的存在,并在標準庫中為多線程提供組件。這意味著使用C++編寫與平臺無關的多線程程序成為可能,也為可移植性提供了強有力的保證。與此同時,程序員們?yōu)樘岣邞玫男阅?,對并發(fā)的關注也是與日俱增,特別在多線程編程方面。
本書是介紹如何使用C++11多線程來編寫并發(fā)程序,及相關的語言特性和庫工具(library facilities)。本書以“解釋并發(fā)和多線程的含義,為什么要使用并發(fā)”作為起始點,在對“什么情況下不使用并發(fā)”進行闡述之后,將對C++支持的并發(fā)方式進行概述;最后,以一個簡單的C++并發(fā)實例結束這一章。資深的多線程開發(fā)人員可以跳過前面的小節(jié)。在后面的幾個章節(jié)中,會有更多的例子,以便大家對庫工具進行更加深入的了解。本書最后,將會給出所有多線程與并發(fā)相關的C++標準庫工具的全面參考。
問題來了,何謂并發(fā)?何謂多線程?