指令重排序

什么是指令重排序
指令重排的分类:编译期重排序和运行时重排序在JVM编译时期或者CPU执行JVM字节码时期,对现有的指令进行重排序,主要目的为了优化运行速度(在不程序运行结果的前提下)

int a = 3 //1
int b = 5; //2
int c = a + b; //3

虽然说指令重排可以调高程序的执行效率,但是在多线程环境下运行可能会影响到结果
解决办法:内存屏障
内存屏障是一个屏障指令,使CPU对屏障指令之前和之后的内存操作结果都是一样的,相当于一种约束

posted on 2020-03-29 18:57  趁你还在  阅读(684)  评论(0编辑  收藏  举报

导航