课程
/后端开发
/Java
/细说Java多线程之内存可见性
能不能解释一下,代码不是顺序执行的吗
2015-05-23
源自:细说Java多线程之内存可见性 3-3
正在回答
只有数据依赖关系才会禁止指令重排序,1.1和1.2没有数据依赖关系,2.1和2.2是控制依赖关系,所以也会进行重排序
不懂,有没有懂得,再解释下
代码的执行顺序不一定就是代码的书写顺序。编译器或者处理器在执行的时候,为了提高运行效率和性能,会做一些优化,因此可能会打乱指令执行顺序。
举报
用两种方式实现内存可见性,代领大家深层次学习Java中的内存
4 回答为什么Thread.activeCount() > 1 不能运行
1 回答volatile不能保证原子性,解决方法
4 回答运行了以后等了好久,500个线程也执行不完是为什么?
2 回答as-if-serial语义部分的不理解
3 回答有肯能是3。