6、多線程之單例模式


 

 

 

原先的單例模式在多線程環境下已經不再適應,那么該怎么辦呢??

答:

(1)使用雙重鎖定實現線程安全的單例模式

 

 

(2)靜態初始化單例模式

 

 

直接實例化Singleton對象,在GetInstance方法中直接返回_Instance對象

 

我們知道,靜態成員只初始化一次,也就是說_Instance在第一次訪問該類就實例化,所以Singleton類第一次被訪問的時候,就完成了Singleton類的實例化,而且只被實例化一次,通過這種方式,也能保證多線程環境下的單例模式

 

 

勘正:請注意,圖中Singleton的無參構造函數應該聲明為private!!!!!!!!!!!!!!!!!!!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM