哪里用过volatile?
单线程下理想情况应该只执行一次
解决办法可以加synchronized,但是加这个太重了,锁死整个方法,这时候可以用DCL(double check lock)双端检索机制
DCL单例模式,任然存在隐患,因为有指令重排的存在,所以可以加上volatile来禁止指令重排
哪里用过volatile?
单线程下理想情况应该只执行一次
解决办法可以加synchronized,但是加这个太重了,锁死整个方法,这时候可以用DCL(double check lock)双端检索机制
DCL单例模式,任然存在隐患,因为有指令重排的存在,所以可以加上volatile来禁止指令重排
相关文章: