-
指令重排序介绍
代码在实际运行时,代码指令可能不是严格按照代码语句的顺序执行的。
只要程序的最终运行结果与它顺序化执行的结果相等,那么指令的执行顺序可以与代码逻辑顺序不一致,整个过程叫:指令重排序。 -
为什么要进行指令重排序?
大多数现代处理器都会采用将指令乱序执行的方法,在条件允许的情况下,直接执行后面的指令,通过乱序执行的技术处理器可以大大提高执行效率。 -
指令重排序分类
- 编译器重排序:JVM中完成
- 指令级并行重排序
- 处理器重排序:CPU中完成
重排序需要遵守happens-before规则。
网友评论