主窗体menu:
在Singleton Pattern,提到这种模式有几个特点:
第二条中提到的,单例类只能自己控制,而不是由使用类的用户来控制单例(用户此时不知道是否单例),所以上述做法,虽然可以工作,但却不属于单件模式。
应用单件模式也可以使上述实例很好的工作:
frm:
注意,多线程的程序中,上述简单写法让然可能造成多个实例,故而需要对线程安全性进行控制。
1.双重锁定:
}
}
2.静态初始化:
}
}
单件模式的在多线程工作时更加有用。如果多个线程对一个类进行作业,如果各自产生自己的类实例,那结果必然是得不到我们的预期目的。这个时候,使用单件模式,使得不管有多少线程,工作的对象都只能是一个共同的实例,这才是我们想要的结果:(下面的例子引用自TerryLee的blog:多线程计数)
以上只是对单例模式的应用做了个简单的总结,有关理论还是要参照大牛们的blog:
http://terrylee.cnblogs.com/archive/2005/12/09/293509.html