單例模式安全
顧名思義,單例模式就是一個類只能有一個實例,無論建立多少次實例,都是同一個實例。多線程
單例模式有兩種:1 是在類被加載時就將本身實例化(靜態初始化),叫餓漢式單例模式,優勢是躲避了多線程訪問的安全性問題,用空間換時間,節省運行時間,缺點是提早佔用系統資源。2 是在第一次被引用時才實例化,叫懶漢式單例模式,缺點是多線程訪問時有線程安全問題須要加線程鎖。spa
若是想使得某個類從始至終最多隻有一個實例,使用__new__方法會很簡單。Python中類是經過__new__來建立實例的:線程
用裝飾器實現單例模式:資源