重排序为什么不影响单线程的执行结果呢

来源:3-5 线程安全性-有序性与总结

qq_灬Mamba磊_0

2018-11-13

重排序为什么不影响单线程的执行结果呢 不是太理解

写回答

1回答

Jimin

2018-11-13

你好,重排序就是由于单个线程前后两行代码交换没任何关系才可以重新排序。比如int a=c*d;int b=e+f;这两句在单线程里看谁先执行谁后执行是没任何关系的,本质上是因为不涉及到相同变量及相关更新操作,但是放在多线程环境下就不一定了。

0
1
qq_灬Mamba磊_0
好的 提问的太着急了 ,后面讲的happens-before原则 也可以解释这个问题了
2018-11-14
共1条回复

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程