单例模式是使整个类在整个系统只有一个实例的设计模型
#带个锁
from threading import Lock
lock = Lock()
class Singleton():
__instance = None
def __new__(cls, *args, **kwargs):
if not cls.__instance:
lock.acquire() # 保证安全
cls.__instance = object.__new__(cls)
lock.release() # 保证安全
return cls.__instance
def __init__(self):
pass
s1 = Singleton()
s2 = Singleton()
print(id(s1), id(s2))
2459924780704 2459924780704