关于单例模式与对象池的思考
【摘要】 单例模式到底有什么用,说真的,我对单例的看法一直在变。刚开始接触单例模式的时候,感觉好酷啊,非常之喜欢。后面又接触到了双重锁单例,更喜欢了,没想到这设计是如此的妙哦。但是后来接触了池技术,同为设计模式的 “享元模式”,我突然就觉得好像哪里不对啊。单例不是可以节约对象构造时机吗,为什么还要整个对象池?还浪费内存。最近我想到了一点:单例,好像要上锁哦!!!对,单例不是线程安全的啊!!!那就是说要...
单例模式到底有什么用,说真的,我对单例的看法一直在变。
刚开始接触单例模式的时候,感觉好酷啊,非常之喜欢。后面又接触到了双重锁单例,更喜欢了,没想到这设计是如此的妙哦。
但是后来接触了池技术,同为设计模式的 “享元模式”,我突然就觉得好像哪里不对啊。单例不是可以节约对象构造时机吗,为什么还要整个对象池?还浪费内存。
最近我想到了一点:单例,好像要上锁哦!!!
对,单例不是线程安全的啊!!!
那就是说要阻塞。
对象池设计的好一点,无锁编程其实也不是不可能的。
用atomic标兵,我好像在哪里看到过这种设计,mainloop分配subloop的时候,不过它好像没有用atomic,没事我用。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)