程序员社区

(Java并发面试题)为什么代码会重排序?

在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重排序,但是不能随意重排序,不是你想怎么排序就怎么排序,它需要满足以下两个条件:

  • 在单线程环境下不能改变程序运行的结果;
  • 存在数据依赖关系的不允许重排序

需要注意的是:重排序不会影响单线程环境的执行结果,但是会破坏多线程的执行语义。

Java面试题

赞(0) 打赏
未经允许不得转载:IDEA激活码 » (Java并发面试题)为什么代码会重排序?

一个分享Java & Python知识的社区