今天在学习设计模式的时候,学到了单例模式的双重检查,而且我觉得有点怪怪的,我看见有人是在说volatile是为了保证singleton的可见性,也有人说是为了防止指令重排。但是我个人去查了一下,感觉更像是保证可见性,因为在判断singleton的时候,已经上了一个synchronized的锁了,所以是没有指令重排的,有没有大佬跟我说一下双重检查锁中的volatile到底是什么作用?救救
双重检查中volatile究竟起到什么作用
最新推荐文章于 2024-09-10 10:21:38 发布
今天在学习设计模式的时候,学到了单例模式的双重检查,而且我觉得有点怪怪的,我看见有人是在说volatile是为了保证singleton的可见性,也有人说是为了防止指令重排。但是我个人去查了一下,感觉更像是保证可见性,因为在判断singleton的时候,已经上了一个synchronized的锁了,所以是没有指令重排的,有没有大佬跟我说一下双重检查锁中的volatile到底是什么作用?救救