不使用synchronized和lock?
在多線程操作系統中,如果不用同步和鎖確實想不出更好的方法實現安全的單例,即便是互斥量或者臨界區技術,也只不過是變相的鎖機制。不過換個角度考慮,單例反正只有一個實體對象,占用的系統資源(通常是內存)并不會太大,所以可以采用預生成的解決方案,即程序初始化過程中就把單例對象生成好,這樣可以回避運行中多線程的競爭問題。
不使用synchronized和lock?
在多線程操作系統中,如果不用同步和鎖確實想不出更好的方法實現安全的單例,即便是互斥量或者臨界區技術,也只不過是變相的鎖機制。不過換個角度考慮,單例反正只有一個實體對象,占用的系統資源(通常是內存)并不會太大,所以可以采用預生成的解決方案,即程序初始化過程中就把單例對象生成好,這樣可以回避運行中多線程的競爭問題。