1.单例模式
单例模式 23种设计模式中最简单 最常用 最常考的一种模式
一个类 只能有一个实例
class Teacher: flag = None def __new__(cls, *args, **kwargs): if cls.flag is None: cls.flag = object.__new__(cls) # 这一句话只能走一次 return cls.flag def __init__(self,name): self.name = name alex1 = Teacher('alex') alex2 = Teacher('alex') yuan = Teacher('yuan') print(alex1.name) print(yuan.name)
(2)
Singleton
(3)在多线程中加锁,单例模式
(4)
下面不再是单例模式
import time
(5)加锁解决问题
import time
import threaing
(6)锁的加和释放会消耗资源,如何处理?加上一个判断
obj=Singletong()