4 回答

莫回?zé)o
TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
說的簡(jiǎn)單點(diǎn),多線程內(nèi)存模型就像是程序員寫的代碼和編譯器、虛擬機(jī)(例如JVM)、CPU等可能對(duì)代碼進(jìn)行修改的系統(tǒng)模塊間的契約,只要程序員按照這個(gè)模型定義的規(guī)則來編寫沒有data race的程序,那么系統(tǒng)就能正確的執(zhí)行你的多線程程序,而不會(huì)做出些改變程序原本的多線程語義的優(yōu)化。
我最近在嘗試寫一篇關(guān)于C++多線程內(nèi)存模型的文章,大概的思路是先介紹sequential consistency(sc);再介紹因?yàn)閟c對(duì)性能損失太大,使得很多編譯器和CPU的優(yōu)化都不能做,所以出現(xiàn)了sequential consistency for data race program模型;再介紹下C++1x中特有的atomic類型,以及它怎么保證atomicity和ordering。
添加回答
舉報(bào)
0/150
提交
取消