关于单例模式与对象池的思考

举报
看,未来 发表于 2021/10/08 09:59:22 2021/10/08
【摘要】 单例模式到底有什么用,说真的,我对单例的看法一直在变。刚开始接触单例模式的时候,感觉好酷啊,非常之喜欢。后面又接触到了双重锁单例,更喜欢了,没想到这设计是如此的妙哦。但是后来接触了池技术,同为设计模式的 “享元模式”,我突然就觉得好像哪里不对啊。单例不是可以节约对象构造时机吗,为什么还要整个对象池?还浪费内存。最近我想到了一点:单例,好像要上锁哦!!!对,单例不是线程安全的啊!!!那就是说要...

单例模式到底有什么用,说真的,我对单例的看法一直在变。

刚开始接触单例模式的时候,感觉好酷啊,非常之喜欢。后面又接触到了双重锁单例,更喜欢了,没想到这设计是如此的妙哦。

但是后来接触了池技术,同为设计模式的 “享元模式”,我突然就觉得好像哪里不对啊。单例不是可以节约对象构造时机吗,为什么还要整个对象池?还浪费内存。

最近我想到了一点:单例,好像要上锁哦!!!
对,单例不是线程安全的啊!!!
那就是说要阻塞。

对象池设计的好一点,无锁编程其实也不是不可能的。

用atomic标兵,我好像在哪里看到过这种设计,mainloop分配subloop的时候,不过它好像没有用atomic,没事我用。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。