首页 > 其他分享 >单例模式

单例模式

时间:2024-10-18 10:25:28浏览次数:9  
标签:__ return name 模式 instance 单例 cls

单例模式

单例模式:每次实例化对象都是用的同一个内存地址【第一个对象】。

  • 基于模块导入实现

  • 基于面向对象实现

    手撕一个单例模式示例:

    import threading
    
    
    class Singleton:
        instance = None
        lock = threading.RLock()
    
        def __init__(self, name):
            self.name = name
    
        def __new__(cls, *args, **kwargs):
            if cls.instance:
                return cls.instance
            with cls.lock:
                if cls.instance:
                    return cls.instance
                import time
                cls.instance = object.__new__(cls)
                return cls.instance
    
    
    def task():
        obj = Singleton("x")
        print(obj)
    
    
    for i in range(10):
        t = threading.Thread(target=task)
        t.start()
    

标签:__,return,name,模式,instance,单例,cls
From: https://www.cnblogs.com/pythonav/p/18473721

相关文章

  • 【设计模式】适配器模式
    设计模式【设计模式】工厂方法模式【设计模式】抽象工厂模式【设计模式】单例模式【设计模式】策略模式【设计模式】观察者模式【设计模式】装饰模式【设计模式】适配器模式 一、介绍适配器模式是一种结构型设计模式,它能使接口不兼容的对象能够相互合作。适配器可......
  • 从单细胞和空间转录组学推断模式驱动的细胞间流动(Flowsig)--生信算法笔记
    **Inferringpattern-drivingintercellularflowsfromsingle-cellandspatialtranscriptomics**Almet,A.A.,Tsai,YC.,Watanabe,M.etal.Inferringpattern-drivingintercellularflowsfromsingle-cellandspatialtranscriptomics.NatMethods21,1806......
  • 【关联规则挖掘算法‌】基于模式增长的关联规则挖掘算法
    目录一、基于模式增长的关联规则挖掘算法概述二、基于模式增长的关联规则挖掘算法优缺点和改进2.1  基于模式增长的关联规则挖掘算法优点2.2  基于模式增长的关联规则挖掘算法缺点2.3  基于模式增长的关联规则挖掘算法改进三、基于模式增长的关联规则挖掘算法编程......
  • CitrixPVS 7.15 PXE模式创建虚拟机-----流向导(精华)
    CitrixPVS7.15PXE模式创建虚拟机-----流向导(精华)在做PXE创建虚机教程之前,我们先做一些貌似与此教程不相关的操作,有句老话说水到渠成或者船到桥头自然直....不管恰当不恰当,先按此教程做吧。我们先在DNS服务器上创建pvs.com的正向查找区域,这个在BDM模式创建虚机那个教程中也能用......
  • 细说STC15单片机I/O口的四种工作模式
    STC15单片机I/O口有四种模式,分别是准双向口、推挽输出、高阻输入和开漏输出。那么什么是准双向口、推挽输出、高阻输入和开漏输出呢?单片机的这四种模式又是怎么体现出来呢?我们来看看STC15芯片手册上各种模式的说明如下图所示。准双向口:与传统8051的P1、P2和P3口相同模式,灌电流达......
  • 全网热点信息监控舆情监控,一个docker一行命令启动完成部署,汇聚全网27个主流网站实时热
    全网热点信息监控舆情监控,一个docker一行命令启动完成部署,汇聚全网27个主流网站实时热榜,热点一“手”掌握,今日热榜API,一个聚合热门数据的API接口,支持RSS模式及Vercel部署。今日热榜汇聚全网热点,热门尽览无余,今日热榜可以为用户提供最新、最热门的信息,尽览各大平......
  • 策略模式
    策略模式代码示例:代码示例://首先,我们定义一个接口MathOperation,表示数学操作的策略//定义策略接口interfaceMathOperation{intoperate(inta,intb);}//实现加法策略classAdditionimplementsMathOperation{@Overridepublicintoperate(inta......
  • hadoop完全分布式模式
    1.下载、上传、解压,添加环境变量。tarzxf/opt/software/hadoop-2.7.6.tar.gz-C/usr/local/src2.JAVA_HOMEhadoop-env.sh:修改JAVA_HOMEexportJAVA_HOME=/usr/local/src/jdk1.8.0_1813.NameNodehdfs-site.xml:namenode命令的存放路径;namenode的数据存放路径;设置备......
  • 解析华为鸿蒙next:Web组件自适应布局与渲染模式详解
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。Web组件大小自适应页面内容布局使用......
  • 代理模式
    静态代理静态代理是一种设计模式,用于在不改变目标对象的情况下,增加对目标对象的控制或功能。它的基本思想是创建一个代理类,该类实现与目标类相同的接口,并在其方法中调用目标对象的方法优点:增强功能:可以在不改变目标类的情况下,增强其功能。代码复用:通过代理类可以重用目标类的......