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

教做美食的网站补习班

教做美食的网站,补习班,深圳优化公司公认安高粱seo,河南郑州房产网问题: 1.什么是单例模式? 单例模式是软件设计模式中的一种,它的核心结构只包含一个被称为单例的特殊类,通过单例模式保证系统中一个类只有一个实例。 对于系统中的许多类来说,只能有一个实例。比如:Wind…

问题:

1.什么是单例模式?

单例模式是软件设计模式中的一种,它的核心结构只包含一个被称为单例的特殊类,通过单例模式保证系统中一个类只有一个实例。

对于系统中的许多类来说,只能有一个实例。比如:Windows系统资源管理器(如果不对对象唯一化,将会弹出多个窗口)

(1)窗口内容完全不一致 =》 内存资源浪费

(2)窗口内容不一致  =》 意味着在某一时刻,系统有多种状态 =》与实际不符

这就体现了唯一性 => 即一个类只有一个对象实例化

那么如何保证一个类只有一个实例,并且易于访问呢?


2.单例模式的实现及其要点?

(1)某一个类只有一个实例   =》 单例模式的类只实现私有的构造函数

(2)自行向系统实现提供该实例  =》该类实现一个静态的公有的函数用于创建或获取它本身的静态私有对象。

3.不说了,上代码


当我在main函数中创建sgn时,系统会先给sgn在堆上开辟内存,然后调用构造函数去构造对象,但由于构造函数是私有的,外部不能访问。但我们提供了一个静态的接口函数,当我们第一次访问时,就会在堆上开辟一个内存,然后将类类型的指针指向这块内存,调用构造函数构造对象,当我们再访问这个接口函数时,系统就会将指向这个对象的地址返回给我们,通过指针sgn去访问这个对象。

3.懒汉单例模式与恶汉单例模式

懒汉单例模式是在第一次获取时才产生,饿汉模式是在程序运行时就产生。代码如下:

 


饿汉模式不存在线程安全问题,因为在加载时就已经完成初始化。

懒汉式存在线程安全问题:

而懒汉模式需要判断_instance是否为空,这就产生了一些问题。


那如何解决这一问题呢?这里就要引入锁了。

4.锁

首先,数据的操作方式无非三种:读读、写写和读写。

而锁一般也根据线程的状态分为:互斥、读写锁(阻塞)和自旋锁(循环)

这里用到了linux下的互斥锁:


锁一般是个很重的东西,解锁开销也很大,所以这里加了双重判断是为了解决:

1.锁的开销

如果只有一个if,那么每次当系统执行到instance()这个函数时,都要进行加锁和解锁,而双重判断就避免了p不为空的情况。

2.避免线程安全问题

在加锁期间可以出现的问题。

5.总结


http://www.hkea.cn/news/274304/

相关文章:

  • 旅游网站开发外文文献关键洞察力
  • 大学生asp网站开发的实训周长沙百度快速优化
  • 黑龙江省建设网站百度投流运营
  • 网站关键词太多好不好兰州seo整站优化服务商
  • 义乌网站设计网店推广策划方案
  • 无锡网站优化工作室网站关键词排名优化推广软件
  • 长沙做网站的公司亚马逊seo什么意思
  • 仪征建设银行官方网站怎么优化一个网站
  • 那个网站可以查询美做空基金宁波网站推广平台效果好
  • 杨凌企业网站建设天津seo优化
  • 建设网站的工具免费b站在线观看人数在哪儿
  • 毕业设计餐饮网站建设国内前10电商代运营公司
  • 日本b2b网站市场调研的步骤
  • 强企网做网站网店推广有哪些
  • 博物馆网站建设策划书公司如何在百度宣传
  • 做cpa广告网站教程百度sem推广具体做什么
  • 免费网站建站WWW222国际军事最新消息今天
  • 做网站软件miscrosoft云服务器
  • 如何做盗版小说网站最经典的营销案例
  • 设计类的网站和简介关键词优化推广排名多少钱
  • 代理记账网站怎么做北京seo方法
  • cdr做网站企业网站建设的基本流程
  • 网站建设需要哪些硬件百度指数排名
  • 2017年网站开发用什么语言找培训机构的app
  • 澳门响应式网站建设seo入门黑帽培训教程
  • 有哪些网站可以做微商口碑营销案例2021
  • 百度推广要不要建网站网络平台建设及运营方案
  • 大型网站开发考试查网址
  • 网站建设业务市场营销论文搜索优化
  • 黄页88企业名录seo怎么优化武汉厂商