C ++ 11引入了标准化的内存模型。这是什么意思?它将如何影响C ++编程?
C ++ 11引入了标准化的内存模型,但究竟是什么意思呢?它将如何影响C ++编程?
这篇文章(引用Herb Sutter的Gavin Clarke)说,
内存模型意味着C ++代码现在有一个标准化的库可以调用,无论是谁编译器以及它运行的平台。有一种标准方法可以控制不同线程与处理器内存的对话方式。
“当你谈论在标准中的不同内核之间分割[代码]时,我们正在谈论内存模型。我们将优化它,而不会破坏人们将在代码中做出的以下假设,” Sutter说。
好吧,我可以在网上记住这个和类似的段落(因为我从出生以来就拥有自己的记忆模型:P),甚至可以发布作为其他人提出的问题的答案,但说实话,我并不完全明白这个。
C ++程序员以前用于开发多线程应用程序,那么如果它是POSIX线程,Windows线程或C ++ 11线程,它又如何重要呢?有什么好处?我想了解低级细节。
我也觉得C ++ 11内存模型与C ++ 11多线程支持有某种关系,因为我经常将这两者结合在一起。如果是,究竟是怎么回事?他们为什么要相关?
由于我不知道多线程的内部工作原理以及内存模型的含义,请帮助我理解这些概念。:-)
慕勒3428872
长风秋雁
相关分类