首页 > 其他分享 >创建型模式-单例模式(使用类实现)

创建型模式-单例模式(使用类实现)

时间:2023-06-27 14:14:11浏览次数:32  
标签:__ 创建 模式 insrance instance 单例 ._ import cls

import time
from threading import Lock
from concurrent.futures import ThreadPoolExecutor


class Test():
    pass


class Singleton():
    _local = Lock()
    _insrance = None

    @classmethod
    def instance(cls, *args, **kwargs):
        if not cls._insrance:
            with cls._local:
                if not cls._insrance:
                    time.sleep(1)
                    cls._insrance = Test()
        return cls._insrance


def get_instance():
    print(id(Singleton.instance()))



if __name__ == "__main__":
    poll = ThreadPoolExecutor(max_workers=5)
    for i in range(10):
        poll.submit(get_instance)

  

标签:__,创建,模式,insrance,instance,单例,._,import,cls
From: https://www.cnblogs.com/fuchenjie/p/17508685.html

相关文章

  • 创建型模式-单例模式(使用模块实现)
    singletion模块classTest():passa=Test() 调用模块fromsingleton.testimportaif__name__=="__main__":foriteminrange(10):b=aprint(id(b))......
  • 多进程和多线程以及协程的创建模板
    【一】开启多进程的创建模板(基于Process模块)【1】方式一:创建多进程importmultiprocessingdefworker(n):"""子进程要执行的任务"""print(f'子进程{n}正在执行')defmain():task_lists=[]foriinrange(100)#创建一个进程对象......
  • 36-golang动态创建类
    动态创建类(1.)使用反射创建类import`reflect`vartypeRegistry=make(map[string]reflect.Type)funcRegisterType(eleminterface{}){ t:=reflect.TypeOf(elem).Elem() typeRegistry[t.Name()]=t}funcNewStruct(namestring)(interface{},bool){ elem,ok......
  • 行为模式
    责任链模式责任链模式是一种行为设计模式,允许你将请求沿着处理者链进行发送。收到请求后,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。比如kratos,gin等开源库的中间件实现。代码实现packagemainimport( "context" "fmt")typeHandlerfunc(ctxc......
  • 结构型模式
    适配器模式适配器模式用于转换一种接口适配另一种接口。比如,现在有个借口是对json字符串进行分析等,现在有一些yaml文件也要分析,这时候我我们就应该给yaml字符串就个适配器,转换成json字符串,然后就行分析。代码实现packagemainimport( "fmt" "github.com/ghodss/yaml")......
  • 第四章 PHP创建与解析XML
    demo1.php<?php $_a=5; //单引号 $_string1='Thisis$_aaString!'; //双引号 $_string2="Thisis$_aaString!";// echo$_string1;// echo$_string2; //复杂式,多行,特殊字符,单引号,双引号,变量。 //<<<<aaaa表示字符串开始aaaa;不是字符串的结束 $_str......
  • 结构型模式概述
    结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。......
  • 桥接模式
    目录1.概述2.结构3.案例4.使用场景1.概述现在有一个需求,需要创建不同的图形,并且每个图形都有可能会有不同的颜色。我们可以利用继承的方式来设计类的关系:我们可以发现有很多的类,假如我们再增加一个形状或再增加一种颜色,就需要创建更多的类。试想,在一个有多种可能会变化......
  • 如何创建Linux虚拟机
    二,新建Linux虚拟机1.1创建新的虚拟机12345671.2编制虚拟机设置1 23  3 1.3开启Linux虚拟机1 2 3 4 5 6 6 7 8 9 10 11 12 13 14 15 16 17(C:\Users\G。\AppData\Roami......
  • 如何创建Windows 10 虚拟机
    一,新建Windows10虚拟机 1.1创建新的虚拟机1,点击创建新的虚拟机 2,选择典型,点击下一步 3,选择稍后安装操作系统,点击下一步。 4,操作系统选择windwos,版本选着Windows10x64,点击下一步 5,可以选择想要给虚拟机的命名,位置选择想要放置的盘符位置,点击下一步 6,可......