美文网首页
Singleton模式(创建型)

Singleton模式(创建型)

作者: 潭潭_180 | 来源:发表于2018-09-14 12:02 被阅读0次

单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。

单例模式结构图

它拥有一个私有的构造函数,确保用户无法通过new直接实例化对象,除此之外,该模式中包含一个静态成员变量和一个静态公有方法instance(),instance()方法负责检验并实例化自己,并存储在静态成员变量中,以确保只有一个实例被创建。

一、线程安全

为了线程安全,需要实现同步操作,但是由于lock是确保当一个线程位于代码的临界区时,另一个线程不能进入临界区(同步操作)。如果其他线程试图进入锁定的代码,则它将一直等待,直到该对象被释放。从而确保在多线程下不会创建多个对象实例了。只是这种实现方式要进行同步操作,这将是影响系统性能的瓶颈和增加了额外的开销。

因此为了降低操作的次数,其实我们只需在同步操作之前,添加判断该实例是否为null就可以降低通过操作的次数了,这样是经典的Double-Checked Locking方法。

二、静态初始化

不使用线程同步,达到线程安全的要求,可以使用静态成员初始化方法。

相关文章

  • Singleton模式(创建型)

    单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。 它拥有一个私有的构造函数,...

  • 设计模式分类

    经典23种设计模式: 创建型设计模式: Singleton Pattern(单例模式) PrototypePatt...

  • PHP设计模式—创建型设计模式

    ** 创建型设计模式 **: 单例模式(Singleton Pattern) 工厂方法模式(Factor Patt...

  • ios开发的常用的23种设计模式

    设计模式主要分三个类型:创建型、结构型和行为型。其中创建型有: 一、单例模式(Singleton):保证一个类只有...

  • IOS 23种设计模式简介

    设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有: 一、Singleton,单例模式:保证一个类只有...

  • 设计模式笔记

    设计模式再学习链接 一、创建型 01)单例模式(Singleton Pattern) 双null检查. 02)简单...

  • Java设计模式 - 单例模式

    单例模式(Singleton Pattern) 是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型...

  • S4. 单例模式

    单例模式(Singleton) 介绍 单例模式是创建型设计模式,即用于创建对象的设计。其能够保证当前系统仅存在一个...

  • 深入理解单例模式的设计与实现

    单例模式(Singleton Pattern)是 Java 中相对简单的设计模式之一。这种类型的设计模式属于创建型...

  • Python 之单例模式

    简介:单例模式(Singleton Pattern) 是最简单的设计模式之一,属于创建型的设计模式。单例模式涉及到...

网友评论

      本文标题:Singleton模式(创建型)

      本文链接:https://www.haomeiwen.com/subject/uuwigftx.html