A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java—family 中级黑马   /  2014-7-21 12:10  /  677 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

懒汉式:
class  Single{
       private static  Single s = null;
       private  static    Single(){};
       public   static    Single   getIntance(){              //这里面有一个问题,在多现程执行红色语句时。有线程安全问题。
                                                                                  //   1.“s”是共享数据, 2.有多条语句在操作“s”那么就存在线程安全,所以要加锁。
                           if(s==null){
                                       s= new Single();
                                       return  s;

                              }
      }

}
.....................................................................................................
class  Single{
       private static  Single s = null;
       private  static    Single(){};
       public   static  synchronized  Single   getIntance(){                         //解决办法1:把函数加为同步函数    知道这个synchronized的锁是什么吗?
                                                                                                                   //this ? 不是  ,这是静态函数:没有this  他的锁是(Single. class)
                           if(s==null){                                                                    //这样写程序每次进来都要判断锁,效率低。
                                       s= new Single();
                                       return  s;

                              }
      }

}

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
class  Single{
       private static  Single s = null;                                                   这样写效率更高。
       private  static    Single(){};
       public   static    Single   getIntance(){
                    if(s==null)  
                     {
                        synchronizde(Single.class)
                           {
                           if(s==null){
                                       s= new Single();


                                             }
                            }   
                      }
                       return  s;
                }

}

我们自己写饿汉式的    考试一般考这个     共勉。。。。。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马