单例模式是什么:
举个常见的单例模式例子,我们日常使用的电脑上都有一个回收站,在整个操作系统中,回收站只能有一个实例,整个系统都使用这个唯一的实例,而且回收站自行提供自己的实例。因此回收站是单例模式的应用。
单例模式的应用场景:
单例模式应用的场景一般发现在以下条件下:
- 资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如日志文件,应用配置。
- 控制资源的情况下,方便资源之间的互相通信。如线程池等。 1.网站的计数器 2.应用配置
- 多线程池
- 数据库配置,数据库连接池
- 应用程序的日志应用…
class Singletion(object):
__instance = None
def __new__(cls, *args, **kwargs):
if cls.__instance is None:
cls.__instance = object.__new__(cls)
return cls.__instance
else:
return cls.__instance
if__name__ == " __mian__":
singletion = Singletion
a = singletion()
b = singletion()
print(id(a))
print(id(b))
输出结果为: