按照设计模式中的定义,Singleton模式的用途是"ensure a class has only one instance, and provide a global point of access to it(确保每个类只有一个实例,并提供它的全局访问点)"; using System;namespace DesignPatters.Singleton { public class Singleton { public static Singleton Instance() { if (_instance == null ) { lock (typeof (Singleton)) { if (_instance == null ) { _instance = new Singleton(); } } } return _instance; } public int NextValue() { return ++count; } protected Singleton(){} private static volatile Singleton _instance = null ; private int count = 0 ; } public class MainClient { [STAThread] static void Main() { Singleton sg1 = Singleton.Instance(); for (int i = 0 ; i < 20 ; i++) Console.WriteLine("Next Value: {0}" , sg1.NextValue() + " - sg1" ); Singleton sg2 = Singleton.Instance(); Console.WriteLine("Next Value: {0}" , sg2.NextValue() + " - sg2" ); } } }