博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建型设计模式之单例设计模式
阅读量:6831 次
发布时间:2019-06-26

本文共 1071 字,大约阅读时间需要 3 分钟。

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

应用场景

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;            }        }    }}

 

转载于:https://www.cnblogs.com/zylstu/p/10013247.html

你可能感兴趣的文章
DNS故障处理一例(转)
查看>>
12月14日中国域名商解析量17强:易名增幅最大
查看>>
常见的WebPack文件、什么是WebPack
查看>>
DVD刻录机的使用与维护
查看>>
构建Postfix邮件系统(二) -- SMTP认证发信+SquirrelMail
查看>>
Oracle 使用concat函数需要注意的地方
查看>>
条件测试
查看>>
linux磁盘管理
查看>>
线上部署链路聚合bonding
查看>>
学LIUNX的常用英语补习
查看>>
单点登录CAS解决方案<一>:纯净CAS-Server
查看>>
Mysql 数据库表区分大小写问题
查看>>
什么是openstack的metadata
查看>>
原创:SecureCRT连接linux终端颜色配置
查看>>
java关键字--this
查看>>
SDL_AudioSpec结构体分析
查看>>
Autoconf和Automake,自动生成Makefile
查看>>
观影《寒战》
查看>>
create instance 生成创建虚拟机从nova到调用libvirt流程(pycharm debug):
查看>>
今天的学习
查看>>