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