单例模式面试经常被问

应用场景:日志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))

 

相关文章:

  • 2021-07-07
  • 2020-02-24
  • 2022-12-23
  • 2021-12-30
  • 2021-09-21
  • 2022-12-23
猜你喜欢
  • 2021-11-14
  • 2022-12-23
  • 2021-04-13
  • 2022-03-05
相关资源
相似解决方案