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

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

图片说明

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

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

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

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

  • 写回答

2条回答 默认 最新

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

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

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

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

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

    有问题还可以追问

    评论

报告相同问题?

悬赏问题

  • ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
  • ¥50 .net core 并发调用接口问题
  • ¥15 网上各种方法试过了,pip还是无法使用
  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 Hadoop集群部署启动Hadoop时碰到问题
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 QTableWidget重绘程序崩溃
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题