怎么能先执行1.2而不是1.1。不能理解。

来源:3-3 synchronized实现可见性代码(中)

我若成风

2015-05-23 16:27

能不能解释一下,代码不是顺序执行的吗


写回答 关注

3回答

  • 斌哥在此
    2020-11-24 23:16:15

    只有数据依赖关系才会禁止指令重排序,1.1和1.2没有数据依赖关系,2.1和2.2是控制依赖关系,所以也会进行重排序

  • 天晴云开
    2018-03-15 16:00:25

    不懂,有没有懂得,再解释下

  • 靘芊尘
    2015-12-14 20:07:51

    代码的执行顺序不一定就是代码的书写顺序。编译器或者处理器在执行的时候,为了提高运行效率和性能,会做一些优化,因此可能会打乱指令执行顺序。

细说Java多线程之内存可见性

用两种方式实现内存可见性,代领大家深层次学习Java中的内存

55908 学习 · 74 问题

查看课程

相似问题