class SingletonClass
{
    private static SingletonClass instance = null;
    
    private static SingletonClass getLnstance() 
    {
        if(instance  == null)
        instance = new singletonClass();        return instance;
    }
}public void doSomeFunction(...)
{
    // to do 
}private SingletonClass()
{
    //Initialize
}这个代码说还能提升效率或能改善,我没找出来,谁能帮忙找找??急!!

解决方案 »

  1.   

    发错了地方!去.NET的C#社区看看。
      

  2.   

    双检锁写法: public class Singleton{
      private static Singleton single;    //声明静态的单例对象的变量
      private Singleton(){}    //私有构造方法 
      
      public static Singleton getSingle(){    //外部通过此方法可以获取对象  
        if(single == null){   
            synchronized (Singleton.class) {   //保证了同一时间只能只能有一个对象访问此同步块      
                if(single == null){    
                    single = new Singleton();        
            }   
          }
        }  
        return single;   //返回创建好的对象 
      }
    }
      

  3.   

    双检锁写法:    1. public class Singleton{  
       2.   private static Singleton single;    //声明静态的单例对象的变量  
       3.   private Singleton(){}    //私有构造方法   
       4.     
       5.   public static Singleton getSingle(){    //外部通过此方法可以获取对象    
       6.     if(single == null){     
       7.         synchronized (Singleton.class) {   //保证了同一时间只能只能有一个对象访问此同步块        
       8.             if(single == null){      
       9.                 single = new Singleton();          
      10.         }     
      11.       }  
      12.     }    
      13.     return single;   //返回创建好的对象   
      14.   }  
      15. } 饿汉式单例类:
       1. public class Singleton  
       2. {  
       3.     private Singleton(){  
       4.       
       5.     }  
       6.   
       7.     private static Singleton instance = new Singleton();  
       8.   
       9.     private static Singleton getInstance(){  
      10.         return instance;  
      11.     }  
      12. }  
    内部类式单例类:
       1. public class Singleton     
       2. {        
       3.         private Singleton(){     
       4.          
       5.     }     
       6.     
       7.     private class SingletonHoledr(){     
       8.         private static Singleton instance = new Singleton();     
       9.     }     
      10.     
      11.     private static Singleton getInstance(){     
      12.         return SingletonHoledr.instance;     
      13.     }     
      14. }   
    懒汉式单例类:
       1. public class Singleton     
       2. {        
       3.     private Singleton(){     
       4.     
       5.     }     
       6.     
       7.     private static Singleton instance;     
       8.     public static Singleton getInstance(){     
       9.         if(instance == null){     
      10.             return instance = new Singleton();     
      11.         }else{     
      12.             return instance;     
      13.         }     
      14.     }     
      15. }    
    可以同步但是效率不高:   1. public class Singleton     
       2. {        
       3.     private Singleton(){     
       4.     
       5.     }     
       6.     
       7.     private static Singleton instance;     
       8.     public static synchronized Singleton getInstance(){     
       9.         if(instance == null){     
      10.             return instance = new Singleton();     
      11.         }else{     
      12.             return instance;     
      13.         }     
      14.     }     
      15. }