随笔-21  评论-7  文章-4  trackbacks-1
  2007年10月3日
在CSDN上看到了C#中的Singleton的实现,实用性并不是太大,不过里边结合了泛型和多线程同步技术,觉得不错,记一下
//C#代码
//singleton.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace Singleton
{
public class SingleTon<T>
{
private static Object objLock = new Object();
protected SingleTon() {}
protected static T _instance;
public static T Instance()
 {
  if(null == _instance)
   {
     lock(objLock)
     {
       if(null == _instance)  //must do this
         _instance = (T)Activator.CreateInstance<T>();
     }
    }
   return _instance;
 }
 public static void Destroy()
  {
    _instance = default(T);
  }
}
 
 public class Person
 {
   String m_strName;
   int    m_nAge;
   public void Eat()
   {
     Console.WriteLine("Eating.. Name: {0}, Age{1}",m_strName,m_nAge);
   }
 }
}
 
//Main.cs
namespace Singleton
{
 class program
{
 static void Main(string[] args)
 {
   SingleTon<Person>.Instance().Eat();
   SingleTon<Person>.Destroy();
 }
}
}
转自:http://12115294.qzone.qq.com/blog/27
posted @ 2007-10-03 17:48 老杨的地盘 阅读(200) 评论(1) 编辑
精诚所至,金石为开...
QQ
昵称:老杨的地盘
园龄:6年5个月
粉丝:0
关注:0
<2007年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

搜索

 
 

常用链接

随笔分类

随笔档案

文章分类

相册

朋友的Blog

我喜欢的网站

最新评论

阅读排行榜

评论排行榜

推荐排行榜