首页 新闻 赞助 找找看

单例模式中拿到的同一个实例不会有问题吗

0
[已解决问题] 解决于 2018-11-28 18:52
publci class Singleton{
     private static Singleton instance = null;
     private Singleton(){}

     public static Singleton getInstance(){
            if(instance == null){
                   synchronized(Singleton.class){
                        if(instance == null)
                        instance = new Singleton();
                   }           
             }
            return instance;
    }
} 

调用者得到的都是一个实例对象,同时操作一个实例不会有问题吗?

MonkeyLu的主页 MonkeyLu | 菜鸟二级 | 园豆:214
提问于:2018-01-31 14:24
< >
分享
最佳答案
-1

只要对象没状态信息(比如对象包含可变的字段等)就没任何问题

奖励园豆:5
Daniel Cai | 专家六级 |园豆:10424 | 2018-01-31 15:43
其他回答(3)
1

所以你要写代码保证他不出问题

吴瑞祥 | 园豆:29449 (高人七级) | 2018-01-31 15:52
0

单例对象不能有状态信息,这一点在Spring 的Bean需要特别注意

有状态说明线程能够进行读取,多线程下,就会导致数据的一致性得不到保证

王小帅 | 园豆:233 (菜鸟二级) | 2018-01-31 17:18
0

只要你写的代码没有 BUG,就没问题。。所有问题都可以算是 BUG。

小浩叔叔 | 园豆:210 (菜鸟二级) | 2018-11-29 10:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册