问答详情
源自:3-3 synchronized实现可见性代码(中)

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

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


提问者:我若成风 2015-05-23 16:27

个回答

  • 斌哥在此
    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

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