對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
提交
取消