Python单例模式

class Singleton(object):
    __instance = None

    def __new__(cls, *args, **kwargs):
        if not cls.__instance:
           cls.__instance = super(Singleton, cls).__new__(cls, *args, **kwargs)

        return cls.__instance
    
if __name__ == '__main__':

    # 多线程中单例的使用
    from threading import Thread
    def func():
        print(id(Singleton()))

for index in range(10000):
    Thread(target=func).start()

推荐阅读更多精彩内容

  • 本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是...
    geekpy阅读 15,056评论 7 36
  • 重写new方法 装饰器版本 import导入
    FangHao阅读 79评论 0 1
  • 用__new__实现 关于__new__的内部原理,请点击 为了让子类不继承父类的__new方法,子类也应该调用o...
    戏之地阅读 2,969评论 0 6
  • 单例模式,多次实例化只返回同一个类实例。
    虾想家阅读 47评论 0 0
  • Python单例模式 单例模式 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。...
    smile念殇阅读 210评论 0 4