线程中的每个操作都发生在该线程中按程序顺序稍后出现的每个操作之前

内存一致性属性的第一个要点是:

  • 线程中的每个操作都发生在该线程中按程序顺序稍后出现的每个操作之前

我猜这是 Java 内存模型的一个相对较新的补充,因为Jon Skeet 在 2011 年没有提到它

这个要点在实践中究竟意味着什么?我很难理解它。它是否只是意味着“单个线程中没有并发问题”?或者还有更多吗?


胡说叔叔
浏览 136回答 1
1回答

缥缈止盈

这个要点在实践中究竟意味着什么?线程中的所有事情理论上都按照程序执行的顺序发生(实际上,指令可以重新排序以使程序运行得更快)我很难理解它。很可能你想多了。想象一下,您正在阅读一首歌的歌词。每行中的单词发生在它之前的所有单词之后,该行之后的所有单词都发生在它之后。它是否只是意味着“单个线程中没有并发问题”?是的,不应该,但可以。例如,Spectre 和 Meltdown 安全问题利用了这一点。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java