volatile在DCL中的应用
来源:4-2 如何写出线程安全的程序?

慕雪3000668
2019-03-28
老师,这种情况,如果构造方法里面没有其他操作,是不是不加volatile也可以呢?不会涉及到重排序的问题
写回答
1回答
-
构造方法里面就算你什么都没写,但也是有构造的,如果不加volatile,一样会导致开两块内存构造两次对象,就不是单例啦。
另外,如果你的类有很多成员,即便你不在构造里面写任何代码,这些成员的初始化操作也会做为构造的一部分的~
152019-03-29
相似问题