之前的理解死鎖出錯(cuò)了,原來(lái)有兩個(gè)方法。當(dāng)?shù)谝粋€(gè)方法被第一個(gè)線程訪問(wèn)的時(shí)候,第一個(gè)鎖對(duì)象就被占有了,第二個(gè)線程去訪問(wèn)方法二,第二個(gè)鎖對(duì)象就被線程二占有了。此時(shí)第一個(gè)線程訪問(wèn)第一個(gè)方法內(nèi)部的同步塊的時(shí)候,要獲取第二個(gè)鎖對(duì)象,可此時(shí)第二個(gè)對(duì)象被線程2占有了,線程1也就無(wú)法獲取到第二個(gè)鎖對(duì)象,而線程2也要訪問(wèn)第二個(gè)方法內(nèi)部的同步塊需要獲取鎖對(duì)象1,而此時(shí)鎖對(duì)象1被線程1占有,所以,此時(shí)兩個(gè)線程都無(wú)法繼續(xù)下去,就一直耗著,造成死鎖。這是我復(fù)盤的時(shí)候檢測(cè)出的問(wèn)題,希望大家在學(xué)習(xí)的時(shí)候多看實(shí)例,避免出錯(cuò)
2019-01-12
這個(gè)視頻我看了2遍了,我確信我都弄懂了知識(shí),首先非常感謝悟空大大,但是我覺(jué)得你這個(gè)第6種情況的實(shí)例不妥,因?yàn)槟鷾y(cè)試的是多線程的靜態(tài)鎖方法和非靜態(tài)鎖方法,而您這個(gè)地方用的是一個(gè)對(duì)象測(cè)試的,體現(xiàn)不出來(lái)多線程訪問(wèn)靜態(tài)鎖方法和非靜態(tài)鎖方法的不同之處,我覺(jué)得應(yīng)該用兩個(gè)對(duì)象來(lái)測(cè)試,我寫(xiě)了一段代碼來(lái)測(cè)試,不論是否合理,這都是我的想法,請(qǐng)悟空大大評(píng)價(jià),我都會(huì)采納建議
2019-01-09