第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

lockObj.wait()是否會(huì)打破鎖,打破原子性?

http://img1.sycdn.imooc.com//566780920001874810490447.jpg

我加了些注釋?zhuān)^察了下。wait的線程在收到notifyAll時(shí),沒(méi)有重新競(jìng)爭(zhēng)鎖,而是從wait()后開(kāi)始執(zhí)行的。那么,嚴(yán)格來(lái)講,是否存在多個(gè)線程會(huì)同時(shí)執(zhí)行后面代碼的可能?

【本例不會(huì)出現(xiàn)是因?yàn)槊看无D(zhuǎn)移只轉(zhuǎn)移給了一個(gè)節(jié)點(diǎn),如果轉(zhuǎn)移給兩個(gè)節(jié)點(diǎn)或以上。則可能在wait后,同時(shí)有兩個(gè)節(jié)點(diǎn)滿(mǎn)足條件,則會(huì)出現(xiàn)競(jìng)爭(zhēng)的情況。】

正在回答

2 回答

不會(huì),主要是這樣的:

先明白兩個(gè)概念:鎖池和等待池。synchronized是鎖池,wait、notify、notifyAll是等待池。等待池的對(duì)象是不會(huì)競(jìng)爭(zhēng)鎖的,當(dāng)notifyAll后,等待池中的線程會(huì)被喚醒進(jìn)入到該線程的鎖池中重新競(jìng)爭(zhēng)對(duì)象鎖,重新獲得鎖后的對(duì)象會(huì)從wait后繼續(xù)執(zhí)行代碼,其他對(duì)象會(huì)被阻塞,而不是wait。被阻塞的對(duì)象會(huì)等待下一次被喚醒(notify、notifyAll)。另外,notify不是線程安全的,notifyAll才是。

0 回復(fù) 有任何疑惑可以回復(fù)我~

確實(shí)是沒(méi)有重復(fù)執(zhí)行,我在wait后加了個(gè)outwait操作,out輸出后加了sleep操作。并驗(yàn)證了,每個(gè)out后面都一定是該線程繼續(xù)執(zhí)行,而沒(méi)有出現(xiàn)多個(gè)out并排的情況。。說(shuō)明喚醒的現(xiàn)場(chǎng)還是先做了一次鎖競(jìng)爭(zhēng),再執(zhí)行的。其他的都在競(jìng)爭(zhēng)外,等待執(zhí)行?


1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

lockObj.wait()是否會(huì)打破鎖,打破原子性?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)