ccEmma 2017-10-22 03:11 采纳率: 0%
浏览 1028

单例模式引发的问题:这种模式还算单例模式吗?

图片说明

如图,在做单例模式之饿汉式时遇到的疑问:在类中加了一个常量对象**single2**,并获取对象,所以这种模式还算单例模式吗?

单例模式的概念就是:一个类只有一个对象实例,是线程安全的。

而在学习过程中看到这样一句话:“饿汉式无需关注多线程问题、写法简单明了、能用则用。但是它是加载类时创建实例(上面有个朋友写错了)、所以如果是一个工厂模式、缓存了很多实例、那么就得考虑效率问题,因为这个类一加载则把所有实例不管用不用一块创建。”

既然一个单例模式类只会创建一个对象,那么为什么上句还会说:这个类一加载则把所有实例不管用不用一块创建。

  • 写回答

2条回答 默认 最新

  • 鼠晓 博客专家认证 2017-10-22 05:19
    关注

    一个类只有一个对象实例,是线程安全的。?

    单例和线程安全貌似没直接关系,
    线程安全应该说的是实现获取单例是否线程安全。

    题主这样的单例感觉意义不大。。两个对象一样,有必要创建两个?

    既然一个单例模式类只会创建一个对象,那么为什么上句还会说:这个类一加载则把所有实例不管用不用一块创建。
    这句话的意思是,如果我的项目中有很多类中用到单例模式(饿汉的),一启动就需要创建很多对象,,,而不是指的一个类

    有问题还可以追问

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器