当前位置: 首页 > news >正文

大品牌网站建设哪个网站做浏览器主页好

大品牌网站建设,哪个网站做浏览器主页好,lunix安装wordpress,网站建设开票内容C#设计模式学习笔记-单例模式 最近在学设计模式#xff0c;学到创建型模式的时候#xff0c;碰到单例模式#xff08;或叫单件模式#xff09;#xff0c;现在整理一下笔记。 在《Design Patterns#xff1a;Elements of Resuable Object-Oriented Software》中的定义是学到创建型模式的时候碰到单例模式或叫单件模式现在整理一下笔记。   在《Design PatternsElements of Resuable Object-Oriented Software》中的定义是Ensure a class only has one instanceand provide a global point of access to。它的主要特点不是根据客户程序调用生成一个新的实例而是控制某个类型的实例数量-唯一一个。《设计模式-基于C#的工程化实现及扩展》王翔。也就是说单例模式就是保证在整个应用程序的生命周期中在任何时刻被指定的类只有一个实例并为客户程序提供一个获取该实例的全局访问点。   一、经典模式 public class Singleton{ private static Singleton instance; private Singleton() { } public static Singleton GetInstance() { if(instancenull) { instancenew Singleton(); } return instance; }}   解析如下   1首先该Singleton的构造函数必须是私有的以保证客户程序不会通过new操作产生一个实例达到实现单例的目的   2因为静态变量的生命周期跟整个应用程序的生命周期是一样的所以可以定义一个私有的静态全局变量instance来保存该类的唯一实例   3必须提供一个全局函数访问获得该实例并且在该函数提供控制实例数量的功能即通过if语句判断instance是否已被实例化如果没有则可以同new创建一个实例否则直接向客户返回一个实例。   在这种经典模式下没有考虑线程并发获取实例问题即可能出现两个线程同时获取instance实例且此时其为null时就会出现两个线程分别创建了instance违反了单例规则。因此需对上面代码修改。   二、多线程下的单例模式   1、Lazy模式 public class Singleton{ private static Singleton instance; private static object _locknew object(); private Singleton() { } public static Singleton GetInstance() { if(instancenull) { lock(_lock) { if(instancenull) { instancenew Singleton(); } } } return instance; }}   上述代码使用了双重锁方式较好地解决了多线程下的单例模式实现。先看内层的if语句块使用这个语句块时先进行加锁操作保证只有一个线程可以访问该语句块进而保证只创建了一个实例。再看外层的if语句块这使得每个线程欲获取实例时不必每次都得加锁因为只有实例为空时即需要创建一个实例才需加锁创建若果已存在一个实例就直接返回该实例节省了性能开销。   2、饿汉模式   这种模式的特点是自己主动实例。 public sealed class Singleton{ private static readonly Singleton instancenew Singleton(); private Singleton() { } public static Singleton GetInstance() { return instance; }}   上面使用的readonly关键可以跟static一起使用用于指定该常量是类别级的它的初始化交由静态构造函数实现并可以在运行时编译。在这种模式下无需自己解决线程安全性问题CLR会给我们解决。由此可以看到这个类被加载时会自动实例化这个类而不用在第一次调用GetInstance()后才实例化出唯一的单例对象。 http://www.cnblogs.com/xun126/archive/2011/03/09/1970807.html转载于:https://www.cnblogs.com/chengjun/p/4955867.html
http://www.zqtcl.cn/news/52252/

相关文章:

  • 网站 设计 精髓大连里程科技做网站
  • 学校网站网站建设网站描述优化
  • 免费域名注册网站怎么登录wordpress 链接 弹窗
  • 网站建设调研问卷网络认证工程师
  • 怎么建立一个网站搜关键词会跳出做导航网站有发展吗
  • 什么类型网站网站优化排名易下拉系统
  • 网站后台的编辑器不显示宁波公司查询
  • 免费发帖推广网站培训心得体会感悟
  • 郑州快速网站优化公司哪家好建设网站得目的
  • 为什么网站建设图片显示不出来如何写手机app程序
  • 电子商务网站费用视频直播网站建设方案
  • 互联网三网合一网站建设宁波企业建站
  • 廊坊哪里有做网站建设的普陀区网站建设前端
  • 微信上怎么做网站链接广州网络营销外包怎样
  • 网站拥有者查询h5网站开发工具
  • 上海 网站撤销备案做销售网站
  • 数字展厅网站建设seo文章
  • 手机壳图案设计网站自己开网店需要什么流程
  • show t团队网站艰涩龙城区建设局网站
  • asp.net网站开发项目化教程去成都最新政策
  • 学做彩票网站好门户网站建设中存在的问题
  • 湖南营销型网站建设百度收录比较好的网站
  • 网站站点不安全lnmp下安装wordpress
  • 网站建设零基础教学wordpress春菜
  • 沧州建网站平面设计师的培训机构
  • flashfxp上传了网站盐城网站建设方案
  • 怎样建手机网站软文广告营销
  • 上海网站建设公司推荐域名是干什么的
  • 2014最新网站模板-网页模板免费下载-风格吧需要推广的app在哪里找
  • 刚刚合肥最新通告seo优化一般包括哪些内容