//双if + lock 实现线程安全的单例模式
class Singleton
{
private Singleton() { }
private static Singleton _singleton = null;
private static object _lock = new object();
public static Singleton CreateSingleton()
{
if(_singleton == null)
{
Console.WriteLine("路过。。");
lock(_lock)
{
if(_singleton == null)
{
Console.WriteLine("被创建。。");
_singleton = new Singleton();
Thread.Sleep(3000);
}
}
}
return _singleton;
}
}
//利用静态只读变量实现单例模式
class Singleton2
{
private Singleton2() { }
private static readonly Singleton2 _singleton2 = new Singleton2();
public static Singleton2 CreateSingleton2
{
get { return _singleton2; }
}
}
单例模式
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模...
- spring单例bean与设计模式的单例模式的区别在于它们关联的环境不一样。单例模式是指在一个JVM进程中仅有一个...
- 定义:一个类只有一个实例,即使多次实例化该类,也只会返回第一次实例化后的对象。 使用闭包改进后的写法 单例模式用途...
- 介绍: 单例模式是一种创建型模式。它保证一个类仅有一个实例,并提供一个访问它的全局访问点。 类图: Singlet...
- 单例模式的特点: 1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供...