內(nèi)存一致性屬性的第一個(gè)要點(diǎn)是:線程中的每個(gè)操作都發(fā)生在該線程中按程序順序稍后出現(xiàn)的每個(gè)操作之前。我猜這是 Java 內(nèi)存模型的一個(gè)相對(duì)較新的補(bǔ)充,因?yàn)镴on Skeet 在 2011 年沒有提到它。這個(gè)要點(diǎn)在實(shí)踐中究竟意味著什么?我很難理解它。它是否只是意味著“單個(gè)線程中沒有并發(fā)問題”?或者還有更多嗎?
1 回答

縹緲止盈
TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
這個(gè)要點(diǎn)在實(shí)踐中究竟意味著什么?
線程中的所有事情理論上都按照程序執(zhí)行的順序發(fā)生(實(shí)際上,指令可以重新排序以使程序運(yùn)行得更快)
我很難理解它。
很可能你想多了。想象一下,您正在閱讀一首歌的歌詞。每行中的單詞發(fā)生在它之前的所有單詞之后,該行之后的所有單詞都發(fā)生在它之后。
它是否只是意味著“單個(gè)線程中沒有并發(fā)問題”?
是的,不應(yīng)該,但可以。例如,Spectre 和 Meltdown 安全問題利用了這一點(diǎn)。
添加回答
舉報(bào)
0/150
提交
取消