对Java和C++多线程内存模型大家有什么看法?
4 回答
莫回无
TA贡献1865条经验 获得超7个赞
说的简单点,多线程内存模型就像是程序员写的代码和编译器、虚拟机(例如JVM)、CPU等可能对代码进行修改的系统模块间的契约,只要程序员按照这个模型定义的规则来编写没有data race的程序,那么系统就能正确的执行你的多线程程序,而不会做出些改变程序原本的多线程语义的优化。
我最近在尝试写一篇关于C++多线程内存模型的文章,大概的思路是先介绍sequential consistency(sc);再介绍因为sc对性能损失太大,使得很多编译器和CPU的优化都不能做,所以出现了sequential consistency for data race program模型;再介绍下C++1x中特有的atomic类型,以及它怎么保证atomicity和ordering。
添加回答
举报
0/150
提交
取消