知识大全 C# “Singleton” 模式四种实现方法
Posted 知
篇首语:只要还有什么东西不知道,就永远应当学习。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C# “Singleton” 模式四种实现方法相关的知识,希望对你有一定的参考价值。
C# “Singleton” 模式四种实现方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
大家一定用过或者看过 Singleton 模式了吧
下面给出三种实现方法 分别给出优缺点
方法一
public sealed class Singleton
private static readonly Singleton instance = new Singleton();
private Singleton()
public static Singleton Instance
get
return instance;
优点 简单明了
缺点 耗费资源
方法二
public sealed class ClassicSingleton
private static ClassicSingleton instance;
private static object syncRoot = new Object();
private ClassicSingleton()
public static ClassicSingleton Instance
get
if (instance == null)
lock (syncRoot)
if (instance == null)
// custom code
instance = new ClassicSingleton();
return instance;
优点 节省资源
缺点 代码冗长
方法三
public sealed class Singleton
static Singleton()Instance = new Singleton();
private Singleton()
public static Singleton Instanceget; private set;
优点 既节省资源 又简单明了
缺点 线程不安全
方法四
public class Singleton
private static Singleton instance;
// Added a static mutex for synchronising use of instance
private static System Threading Mutex mutex;
private Singleton()
static Singleton()
instance = new Singleton();
mutex = new System Threading Mutex();
public static Singleton Acquire()
mutex WaitOne();
return instance;
// Each call to Acquire() requires a call to Release()
public static void Release()
mutex ReleaseMutex();
优点 既节省资源 又简单明了 线程也安全了(一箭三雕)
cha138/Article/program/net/201311/12245相关参考
知识大全 从C#的Singleton设计模式实现看.NETFramework特性对开发者的重要性
从C#的Singleton设计模式实现看.NETFramework特性对开发者的重要性 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布
最简单的设计模式学习:Singleton模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 学习
设计模式之Singleton(单态模式) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要讨论
Singleton模式是一个较为简单的模式下面的代码就可以建立一个Singlton模式的例子这是一个写系统日志的类实际应用的意义在于在内存中只保存一个实例避免开辟多个功能相同的工具类实例而耗用系统
.Net单例模式(Singleton) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!单例模式的意思
在Java中应用设计模式Singleton 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb
在Java中应用设计模式之Singleton 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 基本
知识大全 23种设计模式的Java版--Singleton(单例)
23种设计模式的Java版--Singleton(单例) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
C#设计模式编程之抽象工厂模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 抽象工厂(Abst
C#中的Iterator迭代器模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!迭代器模式我们在平