码迷,mamicode.com
首页 > 其他好文 > 详细

创建型设计模式之单例设计模式

时间:2018-11-24 21:05:58      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:sys   资源   实例   generic   win   访问   names   管理   space   

概念解释:确保一个类只有一个实例,并提供一个全局访问点。

应用场景
1.多线程的线程池,方便控制及节约资源。
2.windows电脑的任务管理器就是,不信你试试。
3.windows电脑的回收站也是。
4.数据库的连接池设计,一般也采用单例设计模式,数据库连接是一种数据库资源。在数据库软件系统中
使用数据库连接池,可以节省打开或关闭数据库连接引起的效率损耗,用单例模式维护,就可以大大降低这种损耗。
5.应用程序的日志应用,由于共享的日志文件一直处于打开状态,只能有一个实例去操作,否则内容不好追加。

为了便于理解代码示例如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SingleTon
{
   public sealed class Singleton
    {
        static Singleton instance = null;
        private static readonly object padlock = new object();
        private Singleton()
        {
        }
        public static Singleton Instance
        {
            get {
                if (instance == null)
                {
                    lock(padlock)//如果考虑多线程,加锁是很好的解决方案
                    {
                        if(instance == null)
                        { 
                        instance = new Singleton();
                        }
                    }
                }
                return instance;
            }
        }
    }
}

 

创建型设计模式之单例设计模式

标签:sys   资源   实例   generic   win   访问   names   管理   space   

原文地址:https://www.cnblogs.com/zylstu/p/10013247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!