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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關(guān)于java中線程yield()方法問題

關(guān)于java中線程yield()方法問題

收到一只叮咚 2019-03-15 14:15:47
問題一:我知道yield是用來休眠當前線程,但我查看了資料,又說其不會釋放鎖,所以我就不解了,其明明會將cpu資源給其他線程,那它不釋放鎖,其他線程有怎么獲取cpu資源呢?還是我理解有誤?問題二:資料說是相同優(yōu)先級的線程可以競爭獲取資源?那么比它優(yōu)先級高的有機會嗎?
查看完整描述

4 回答

?
守著星空守著你

TA貢獻1799條經(jīng)驗 獲得超8個贊

yield() 方法和釋放不釋放鎖沒有關(guān)系,樓主對其作用理解有偏差。

jdk 中的解釋為:

調(diào)用該方法的線程通知線程調(diào)度器當前線程可以讓出CPU,線程調(diào)度器可以響應或者忽略此請求。

要注意的是:

  • 線程調(diào)度器并不一定響應這個請求。

  • 響應請求時,僅僅將當前線程變?yōu)榭蛇\行狀態(tài)。其他處于可運行狀態(tài)的線程將競爭CPU資源,高優(yōu)先級線程將會比相同優(yōu)先級的線程有較高的概率獲得CPU資源,但并不保證。

另外,需要注意的是,CPU資源和鎖的獲取并沒有直接關(guān)系,CPU資源是由系統(tǒng)來分配的。


查看完整回答
反對 回復 2019-04-18
?
神不在的星期二

TA貢獻1963條經(jīng)驗 獲得超6個贊

  1. 不要混淆cpu和鎖,線程交出cpu并不等于一定要交出鎖,這個yield只是讓出cpu,讓其他線程可以使用cpu,但是如果其他線程wait在該線程hold住的鎖上的話,那些線程是不會被執(zhí)行的,其實就是即使運行也還是繼續(xù)wait。

  2. 所有就緒的線程都可以競爭,高優(yōu)先級的只是概率大些,但未必一定會先執(zhí)行。而且剛剛用yield讓出cpu的線程也有可能被再次調(diào)度到。


查看完整回答
反對 回復 2019-04-18
?
蝴蝶不菲

TA貢獻1810條經(jīng)驗 獲得超4個贊

yield不會釋放鎖,是指不會釋放它鎖住的一些“動作”,但是讓出了cpu資源;

執(zhí)行yield()的線程有可能在進入到可執(zhí)行狀態(tài)后馬上又被執(zhí)行,所以優(yōu)先級低的線程不能競爭獲取資源,
相同優(yōu)先級的線程可以競爭獲取資源,高優(yōu)先級線程將會比相同優(yōu)先級的線程有較高的概率獲得CPU資源。


查看完整回答
反對 回復 2019-04-18
?
喵喔喔

TA貢獻1735條經(jīng)驗 獲得超5個贊

問題1:其他線程包括競爭這個“鎖”的線程,也包括跟這個“鎖”毫無關(guān)系的線程。


查看完整回答
反對 回復 2019-04-18
  • 4 回答
  • 0 關(guān)注
  • 409 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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