单例饿汉模式双检查锁相关问题
各位大佬好,本人小菜鸡一枚,最近刚接触了单例模式,关于懒汉式实现双检查锁,代码如下。有个小问题,既然调用get时如果不是nullptr就直接返回,那多线程调用时不就直接返回了该对象对其直接进行改变,不就没有同步性了。反过来如果在外部调用时,各个线程之间是互斥的来保证线程同步那是不是就没有加锁的必要了?很疑惑求各位大佬解答
全部评论
我理解的是,双锁保证的同步性主要指的是多线程get的时候返回的是同一个对象,避免两个线程都判断为nullptr都new了新对象的情况发生,至于后面使用这个对象的线程安全性就不是类里应该实现的了。
相关推荐
10-21 18:18
中南大学 机械设计/制造 点赞 评论 收藏
分享