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

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

sleep() 、join()、yield()有什么區(qū)別

sleep() 、join()、yield()有什么區(qū)別

喵喔喔 2018-05-11 15:31:39
查看完整描述

1 回答

?
花非玉

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

1sleep()方法

? ? 在指定的毫秒數(shù)內(nèi)讓當(dāng)前正在執(zhí)行的線程休眠(暫停執(zhí)行)。此操作受到系統(tǒng)計時器和調(diào)度程序精準(zhǔn)和準(zhǔn)確性的影響,讓其他線程有機會繼續(xù)執(zhí)行,但是它不釋放對象鎖。也就是如果有synchronized同步塊,其他線程仍然不能訪問共享數(shù)據(jù),注意該方法需要捕獲異常。

? ? 比如有兩個線程同時執(zhí)行(沒有synchronized),一個線程優(yōu)先級為Max_PRIORITY,另一個為MIN_PRIORITY,如果沒有sleep()方法,只有高的優(yōu)先級的線程執(zhí)行完成后,低優(yōu)先級的線程才能執(zhí)行;但當(dāng)高優(yōu)先級的線程sleep(5000)后,低優(yōu)先級的就有機會執(zhí)行了。

總之,sleep()可以使用低優(yōu)先級的線程得到執(zhí)行的機會,當(dāng)然也可以讓同優(yōu)先級的線程有執(zhí)行的機會。

2 yield()方法

? ? yield()方法和sleep()方法類似,也不會釋放“鎖標(biāo)志”,區(qū)別在于,它沒有參數(shù),即yield()方法只是使當(dāng)前線程重新回到可執(zhí)行狀態(tài),所以執(zhí)行yield()的線程有可能在進入到可執(zhí)行狀態(tài)后,馬上又被執(zhí)行,另外yield()方法只能使用同優(yōu)先級或者高優(yōu)先級的線程得到執(zhí)行機會,這也和sleep()方法不同

3 join()方法

? ? Thread的非靜態(tài)方法join()讓一個線程B“加入”到另一個線程A的尾部,在A執(zhí)行完畢之前,B不能工作。

? Thread? t = new MyThread(); t.start(); t.jion();

保證當(dāng)前線程是停止執(zhí)行的,直到該線程所加入的線程完成為止。然而,如果它加入的線程沒有存活,則當(dāng)前線程不需要停止。


查看完整回答
1 反對 回復(fù) 2019-06-25
  • 1 回答
  • 0 關(guān)注
  • 1102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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