最贊回答 / 伊兮塵昔
餓漢式是線程安全的,在類創(chuàng)建的同時就已經(jīng)創(chuàng)建好一個靜態(tài)的對象供系統(tǒng)使用,以后不在改變??????????懶漢式如果在創(chuàng)建實例對象時不加上synchronized則會導(dǎo)致對對象的訪問不是線程安全的
2014-12-31
最贊回答 / jamesdeath123
如果兩個線程 threadA和 threadB分別開始執(zhí)行初始化:threadA: if (instance == null) 是真,然后進入條件區(qū)里面里面,在它還沒有到初始化那一步的時候,跳到 threadB:這時(instance==null)對threadB仍然是真,于是也進入到條件區(qū)里面。接下來 threadA和threadB接下來先后執(zhí)行instance = new ... 就會分別給兩個線程兩個不同的instance了。
2014-10-31