單例懶漢模式下多線程實例化出多個對象爲什麼也叫做線程安全

首先看一下百度百科對線程安全的定義

線程安全-百度百科

線程安全是多線程編程時的計算機程序代碼中的一個概念。在擁有共享數據的多條線程並行執行的程序中,線程安全的代碼會通過同步機制保證各個線程都可以正常且正確的執行,不會出現數據污染等意外情況。



我個人認爲這個定義很準確


單例的懶漢和餓漢介紹

我的理解是這樣的,線程之所以產生安全問題是對原來正確數據造成改變污染。對於單例懶漢模式下,單例類原本在多線程的情況下應該只會產生一個對象,實際上會出現產生多個對象,數據出現錯誤,所以說線程是不安全的;然而對與單例餓漢情況,多線程在實例化單例類時並不會出現多的對象的情況,數據正確,所以並未出現線程安全。
對於你講的多個對像…的問題:準確的是說,多個線程訪問共享資源會出現線程安全,當然這也是包含在數據被污染的大集合內


這裏是我回答的問題,結合別人提的問題理解的應該更透徹些



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章