8
C ++ 11引入了标准化的内存模型。这是什么意思?它将如何影响C ++编程?
C ++ 11引入了标准化的内存模型,但这究竟意味着什么?它将如何影响C ++编程? 这篇文章(由加文·克拉克(Gavin Clarke)引用赫伯·萨特(Herb Sutter)表示)说, 内存模型意味着C ++代码现在有一个标准化的库可以调用,而不管编译器的创建者和运行平台是什么。有一种标准方法可以控制不同线程如何与处理器的内存通信。 “当你在谈论分裂[代码]在不同的内核,就是在标准,我们正在谈论的内存模型。我们要优化它没有打破以下假设人会在代码中做出,” 萨特说。 好吧,我可以记住这一段以及网上可以找到的类似段落(因为我从出生就拥有自己的记忆模型:P),甚至可以发布它作为对其他人提出的问题的答案,但是老实说,我并不完全理解这个。 C ++程序员甚至以前都曾开发过多线程应用程序,那么,它是POSIX线程,Windows线程还是C ++ 11线程又有什么关系呢?有什么好处?我想了解底层细节。 我还感觉到C ++ 11内存模型与C ++ 11多线程支持某种程度上相关,因为我经常将两者结合在一起。如果是的话,究竟如何?为什么要关联它们? 由于我不了解多线程的内部原理以及内存模型的一般含义,请帮助我理解这些概念。:-)