定義:確保一個類只有一個實例,並提供全局訪問點。
剖析經典單件模式實現:
注意:這段代碼其中還是一些小問題,那就是當執行的環境是單線程的時候,可以確保只實例化一個對象。
而多線程的環境中呢?
再看下面這段代碼。
處理多線程:
雖然上面這段改良的代碼可以實現只能創建一個實例,可是每次都線程同步一次的話,這樣也太消耗性能了。
所以就有了下面最終版代碼 :
定義:確保一個類只有一個實例,並提供全局訪問點。
剖析經典單件模式實現:
注意:這段代碼其中還是一些小問題,那就是當執行的環境是單線程的時候,可以確保只實例化一個對象。
而多線程的環境中呢?
再看下面這段代碼。
處理多線程:
雖然上面這段改良的代碼可以實現只能創建一個實例,可是每次都線程同步一次的話,這樣也太消耗性能了。
所以就有了下面最終版代碼 :