设计模式:单例模式
Posted uptothesky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式:单例模式相关的知识,希望对你有一定的参考价值。
单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。
懒汉式:
namespace SingletonDesign { public class Singleton { private static Singleton instance; private static readonly object syncRoot = new object(); private Singleton() { } public static Singleton GetInstance() { if(instance==null) { lock (syncRoot) { if (instance == null) { instance = new Singleton(); } } } return instance; } } }
测试代码:
for(int i=0;i<100;i++) { Task.Run(() => { Singleton s = Singleton.GetInstance(); Console.WriteLine(s.GetHashCode()); }); }
饿汉式:
namespace SingletonDesign { public sealed class Singleton { private static readonly Singleton instance=new Singleton(); private Singleton() { } public static Singleton GetInstance() { return instance; } } }
以上是关于设计模式:单例模式的主要内容,如果未能解决你的问题,请参考以下文章