在本章中,已經(jīng)對C++
11內(nèi)存模型的底層只是進(jìn)行詳盡的了解,并且了解了原子操作能在線程間提供基本的同步。這里包含基本的原子類型,由std::atomic<>
類模板特化后提供;接口,以及對于這些類型的操作,還要有對內(nèi)存序列選項(xiàng)的各種復(fù)雜細(xì)節(jié),都由原始std::atomic<>
類模板提供。
我們也了解了柵欄,了解其如何讓執(zhí)行序列中,對原子類型的操作同步成對。最后,我們回顧了本章開始的一些例子,了解了原子操作可以在不同線程上的非原子操作間,進(jìn)行有序執(zhí)行。
在下一章中,我們將看到如何使用高階同步工具,以及原子操作并發(fā)訪問的高效容器設(shè)計(jì),還有我們將寫一些并行處理數(shù)據(jù)的算法。