单例模式实例——神码设计模式
1、/// <summary>
/// 多线程下的懒汉式单例模式,不加锁会出现多线程同时创建对象的问题,违反了单例模式原则。
/// </summary>
public class Singleton
{
private static Singleton instance;
private static object _lock = new object();
private Singleton()
{
}
public static Singleton GetInstance()
{
if (instance == null)
{
lock (_lock)
{
if (instance == null)
{
instance = new Singleton();
}
}
}
return instance;
}
}
2、饿汉模式。由于一开始就创建了对象,所以不会存在多线程调用同时创建对象的问题
public class Singleton
{
private static Singleton instance=new Singleton();
private Singleton() { }
public static Singleton GetInstance()
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
文章来源: wanghao.blog.csdn.net,作者:AI浩,版权归原作者所有,如需转载,请联系作者。
原文链接:wanghao.blog.csdn.net/article/details/107226331
- 点赞
- 收藏
- 关注作者
评论(0)