我的问题有人提过,但是侧重点有不同,而且没人回答过:http://www.iteye.com/problems/54095
jsr133里面定义到happens-before规则之一:“Each action in a thread happens-before every subsequent action in that thread.”,翻译过来就是:“线程中的每个操作都happens-before这个线程中后续的所有操作。”
我们都知道为了效率问题,在编译,JIT和缓冲区这几个地方可能会发生代码的重排序问题。但是前面的happens-before的规则如果是这样的理解的话是禁止了重排序到发生。这很显然是有问题的。
如上对happens-before的理解肯定是有问题的,所以,希望有兄弟能解释下这个happens-before规则到真正含义是什么? :idea: :arrow: