python实现单例模式及应用场景
单例模式面试经常被问
应用场景:日志logger插入,计时器、权限校验、网站计数器,windows资源管理器,回收站,线程池,数据库连接池等资源池。
什么情况下需要单例模式:
1.每个实例都会占用资源,而且每个实例初始化都会影响性能;
2.当有同步需求的时候,如日志文件的控制,确保只有一个实例。
上代码:
class singleton(object): __isinstance = None def __new__(cls, *args, **kwargs): if cls.__isinstance is None: cls.__isinstance = object.__new__(cls) return cls.__isinstance else: return cls.__isinstance a = singleton() b = singleton() print(id(a)) print(id(b))
三更灯火五更鸡,正是男儿发愤时。黑发不知勤学早,白首方悔读书迟。
posted on 2018-09-10 20:54 QQ_990814268 阅读(944) 评论(0) 编辑 收藏 举报