首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要一些关于单例模式的说明

我需要一些关于单例模式的说明
EN

Stack Overflow用户
提问于 2013-04-18 18:45:49
回答 4查看 81关注 0票数 3

单例设计模式在实现单例模式时,是否确保一个对象引用一个或多个对象,我认为在多线程的情况下,即使我们实现了单例模式,也有可能出现多个对象。

请帮帮忙。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-18 18:53:51

线程有可能会导致单例出现问题。你可以在这里找到一套全面的解决方案来保证单例线程的安全:

http://csharpindepth.com/Articles/General/Singleton.aspx

票数 3
EN

Stack Overflow用户

发布于 2013-04-18 18:51:34

单例模式是一种设计模式,它将类的实例化限制为一个对象。如果一个实例已经存在,它只是返回一个对该对象的引用。然而,在多线程环境中,两个单独的线程可能会同时进入getInstance(),检查实例是否为null,然后创建类的两个实例。因此,为了防止它,您需要将您的getInstance()标记为synchronized,如下所示:

代码语言:javascript
复制
public static synchronized Singletone getInstance() {
    if(instance == null){
        instance = new createInstance();
    }
    return instance;
}

请查看this帖子以更好地了解。

票数 2
EN

Stack Overflow用户

发布于 2013-04-18 18:48:11

单例模式确保在JVM上运行的应用程序中创建单个对象。即使在多线程环境中也是如此。如果不是,那就不是Singleton,或者至少是编程糟糕的Singleton。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16080827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档