C++11引入了标准化内存模型,但这究竟意味着什么?它将如何影响C++编程?
这篇文章(由加文·克拉克引用Herb Sutter)说,
内存模型意味着C++代码现在有一个标准化的图书馆不管编译器是谁做的以及它在哪个平台上运行。有一个标准的方法来控制不同的线程与处理器的内存。
"当你谈论分裂时[code]跨越不同的核心在标准中,我们谈论的是记忆模型。我们要优化它而不破坏以下假设人们会在代码中制作,“Sutter说。
好吧,我可以在网上找到这个和类似的段落(因为我从出生起就有自己的记忆模型:P),甚至可以发布作为对别人提出的问题的回答,但老实说,我不完全理解这一点。
C++程序员以前就习惯于开发多线程应用程序,那么POSIX线程、Windows线程或C++11线程又有什么关系呢?有什么好处?我想了解低级细节。
我也有这种感觉,C++11内存模型在某种程度上与C++11多线程支持有关,因为我经常看到这两者在一起。
我不知道多线程的内部是如何工作的,以及内存模型的一般含义。