在volatile和synchronized的总结问题

来源:9-5 jmm的内存可见性

幕布斯9391928

2019-12-26

在volatile和synchronized的总结中,被volatile标记的变量不会被优化但是被synchronized标记的能够被优化?
1.其中被synchronized标记的变量是指?锁还是同步方法/同步代码块中的变量
2.并且在单例模式双重检测下,如果被synchronized修饰的代码块执行结束了,内部的实例的初始化指令难道没有结束吗?如果没有结束synchronized如何保证被修饰的代码是原子性的?如果已经结束对象的实例化,那就没有必要加volatile关键字修饰呀

写回答

1回答

翔仔

2019-12-27

  1. 被synchronized修饰的所有东西,包括方法和同步代码块,主要指的是能够重排序

  2. 详见http://coding.imooc.com/learn/questiondetail/158959.html

0
0

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程