有没有 b=1;a=1 以及 b=1;a=3的情况

来源:12-11 问题原因

qq_改成什么名字呢_0

2019-10-31

不加 volatile的时候 会不会 出现 b=1;a=1 以及 b=1;a=3的情况???

/*
以下打印 b=* ; a=*
*/

3,3 正常运行
2,1 print()先执行
2,3 代码执行中打印

1,1 可见性+重排序 ?????
3,1 可见性
1,3 可见性+重排序 非常罕见 ???

写回答

2回答

qq_改成什么名字呢_0

提问者

2019-10-31

0.0

0
0

悟空

2019-10-31

这个你可以列表格分析一下,因为你原理已经懂了,剩下的就是对原理的应用啦。

0
2
悟空
回复
qq_改成什么名字呢_0
重排序不是乱排的,有依赖关系的,为了保证程序正确性,是不重排序的。
2019-10-31
共2条回复

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程