原先的單例模式在多線程環境下已經不再適應,那麼該怎麼辦呢?? 答: (1)使用雙重鎖定實現線程安全的單例模式 (2)靜態初始化單例模式 直接實例化Singleton對象,在GetInstance方法中直接返回_Instance對象 我們知道,靜態成員只初始化一次,也就是說_Instance在第一次訪 ...
原先的單例模式在多線程環境下已經不再適應,那麼該怎麼辦呢??
答:
(1)使用雙重鎖定實現線程安全的單例模式
(2)靜態初始化單例模式
直接實例化Singleton對象,在GetInstance方法中直接返回_Instance對象
我們知道,靜態成員只初始化一次,也就是說_Instance在第一次訪問該類就實例化,所以Singleton類第一次被訪問的時候,就完成了Singleton類的實例化,而且只被實例化一次,通過這種方式,也能保證多線程環境下的單例模式
勘正:請註意,圖中Singleton的無參構造函數應該聲明為private!!!!!!!!!!!!!!!!!!!!!!