python實現單例模式及應用場景

單例模式面試常常被問面試

應用場景:日誌logger插入,計時器、權限校驗、​網站計數器,windows資源管理器,回收站,線程池,數據庫鏈接池等資源池。數據庫

什麼狀況下須要單例模式:windows

1.每一個實例都會佔用資源,並且每一個實例初始化都會影響性能;app

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))
相關文章
相關標籤/搜索