创建型模式-单例模式(使用魔法方法__new__实现)
# 使用魔法方法__new__实现单例模式 # 线程锁:防止创建多个实例 # 双重检查:实例创建后,防止重复加锁占用资源 from threading import Lock class Singletion(): _local = Lock() _instance = None def __new__(cls, *args, **kwargs): if not cls._instance: with cls._local: if not cls._instance: cls._instance = super(Singletion, cls).__new__(cls, *args, **kwargs) return cls._instance if __name__ == "__main__": for item in range(10): b = Singletion() print(id(b))