单例模式的两种实现方式:懒汉式 饿汉式

Code
using System;
using System.Collections.Generic;
using System.Text;

namespace OODemo
{
    
/// <summary>
    
/// 饿汉式单例模式,在第一次加载时就实例化
    
/// </summary>
    public class Singleton
    {
        
        
private static readonly Singleton instance=new Singleton();
        
private Singleton()
        {
            
        }
        
public static Singleton GetInstance()
        {
            
return instance;
        }


    }

    
/// <summary>
    
/// 懒汉式单例模式,在第一次被引用时开始实例化
    
/// </summary>
    public class SingletonPattern
    {
        
private static SingletonPattern instance;
        
private static object obj;
        
private SingletonPattern(){}
        
public static SingletonPattern GetInstance()
        {
            
if (instance == null)
            {
                
lock (obj)
                {
                    
if (instance == null)
                    {
                        
return new SingletonPattern();
                    }
                                       
                }
            }
        }
    }
        
       
}
posted @ 2009-11-22 22:34  chunchill  阅读(348)  评论(0编辑  收藏  举报