内存一致性属性的第一个要点是:线程中的每个操作都发生在该线程中按程序顺序稍后出现的每个操作之前。我猜这是 Java 内存模型的一个相对较新的补充,因为Jon Skeet 在 2011 年没有提到它。这个要点在实践中究竟意味着什么?我很难理解它。它是否只是意味着“单个线程中没有并发问题”?或者还有更多吗?
1 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
这个要点在实践中究竟意味着什么?
线程中的所有事情理论上都按照程序执行的顺序发生(实际上,指令可以重新排序以使程序运行得更快)
我很难理解它。
很可能你想多了。想象一下,您正在阅读一首歌的歌词。每行中的单词发生在它之前的所有单词之后,该行之后的所有单词都发生在它之后。
它是否只是意味着“单个线程中没有并发问题”?
是的,不应该,但可以。例如,Spectre 和 Meltdown 安全问题利用了这一点。
添加回答
举报
0/150
提交
取消