摘要:
1、happens-before是JMM最核心的概念,JSR-133使用happens-before来指定两个操作之间的执行顺序。 2、如果A happens-before B,那么: (1)对程序员来说:A的执行结果对B可见,并且A的执行顺序排在B之前。 (2)对编译器和处理器来说:不一定要按照程 阅读全文
摘要:
1、重排序:指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段。 2、数据依赖性:两个操作访问同一个变量,且者两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。 (1)分类:写后读、写后写、读后写。 (2)编译器和处理器在重排序时,会遵守数据依赖性,不会改变存在数据依赖关 阅读全文