zoukankan
html css js c++ java
C#设计模式:Singleton模式
如何保证一个类只能有一个实例存在?
在多线程情况下如何解决?
using
System;
using
System.Collections.Generic;
using
System.Text;
namespace
Singleton
{
class
Singleton
{
//
构造函数私有化,保证不被显式实例化
private
Singleton()
{ }
//
定义属性,返回Singleton对象
private
static
Singleton singleton;
public
static
Singleton Instance
{
get
{
if
(singleton
==
null
)
singleton
=
new
Singleton();
return
singleton;
}
}
}
}
//
多线程版本的Singleton
namespace
SingletonMultiThread
{
class
Singleton
{
private
static
object
lockHelper
=
new
object
();
//
构造函数私有化,保证不被显式实例化
private
Singleton()
{}
//
定义属性,返回Singleton对象
private
static
volatile
Singleton singleton
=
null
;
public
static
Singleton Instance
{
get
{
if
(singleton
==
null
)
{
lock
(lockHelper)
{
if
(singleton
==
null
)
singleton
=
new
Singleton();
}
}
return
singleton;
}
}
}
}
//
经典的Singleton实现:仅仅适合无参构造器对象(可用属性实现扩展)
namespace
classicalSingleton
{
sealed
class
Singleton
{
private
Singleton()
{ }
//
内联初始化,后面的new是个静态构造器
public
static
readonly
Singleton Instance
=
new
Singleton();
}
class
Program
{
static
void
Main(
string
[] args)
{
Singleton s1
=
Singleton.Instance;
Singleton s2
=
Singleton.Instance;
if
(
object
.ReferenceEquals(s1, s2))
Console.WriteLine(
"
两个对象是相同的实例。
"
);
else
Console.WriteLine(
"
两个对象非相同的实例。
"
);
}
}
}
查看全文
相关阅读:
debian 降级
linux 常用查看设备命令
viewstate
linux图形界面编程基本知识
Java 不适合编写桌面应用
temp
ASP.NET中26个常用性能优化方法
三层架构与MVC的关系
分页查询前台HTML+后台asp.net代码
windows身份验证登入数据库 iis 无法访问数据库
原文地址:https://www.cnblogs.com/flaaash/p/1020841.html
最新文章
Log4Net試用
系統之間數據整合
识别强直性脊柱炎高效和疾病特定的基质改变
第1年的放射学侵蚀进展是早期RA进一步侵蚀性进展的新预测指标
体现临床实际基线疾病活动度的早期RA患者中, 治疗起效时间对临床和放射学的影响
评价RA滑膜炎的综合评分系统的计量学特点: 来自一项随机、前瞻、多中心研究的结果
骶髂关节MRI在放射学阴性的脊柱关节炎中的诊断作用:3种评估法在两个起始队列中的验证
对中轴放射学进展高风险的AS患者有预测和保护作用的生物标记
建议采用柏林公式诊断SpA:来自脊柱关节病早期患者(SPACE)队列结果
比较病程长和短的中轴脊柱关节炎患者接受1年依那西普治疗的临床和炎症预后
热门文章
比较常规治疗登记中阿巴西谱、阿达木单抗、依那西普和英夫利昔单抗治疗类风湿关节炎的疗效和起效时间
依那西普治疗1年能改善AS患者全身MRI(WBMRI)证实的多灶性炎症损害
svn命令在linux下的使用
Git使用指南
Debian 6 控制台字体
Linux / Unix Command: ImageMagick
对图像边缘进行随机均匀采样的算法实现( 转载)
picture2video and video2picture using mplayer and ffmpeg
cvprtoolbox contents
lshal 设备管理
Copyright © 2011-2022 走看看