關於volatile解決DCL(雙重檢查)問題的看法

1.故事的起因;     最近在看一個項目的源代碼時發現一些單例是用的雙重檢查的懶漢模式來實現的. 但是對於java語言來說雙重檢查其實是個僞代碼. 可能大夥都知道對於java1.5以後對於這類問題的修正可以使用volatile解決, 那麼DCL存在問題的原因是什麼? 爲什麼volatile關鍵字可以解決這個問題? 我看了幾篇相關的博客和文章, 感覺沒有直擊痛點. 所以在這裏簡單地說一下自己的看法
相關文章
相關標籤/搜索