page contents

为什么代码会重排序?

轩辕小不懂 发布于 2022-05-29 10:46
阅读 413
收藏 0
分类:Java开发
3667
Nen
Nen
- 程序员

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

在单线程环境下不能改变程序运行的结果;

存在数据依赖关系的不允许重排序

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

请先 登录 后评论