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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

多線程如何確保在另一個(gè)線程的obj.notify()執(zhí)行之前,當(dāng)前線程已經(jīng)執(zhí)行了obj.wait()?

多線程如何確保在另一個(gè)線程的obj.notify()執(zhí)行之前,當(dāng)前線程已經(jīng)執(zhí)行了obj.wait()?

繁星coding 2019-01-18 21:23:03
如果線程的wait比notify先執(zhí)行,那么程序就死了,怎么才能解決這個(gè)問題? public class AaaTest { public static void main(String[] args) throws InterruptedException { Object obj=new Object(); Ttt ttt=new Ttt(obj); ttt.start(); synchronized(obj){ obj.wait(); } System.out.println("wait先執(zhí)行,程序通過"); } static class Ttt extends Thread{ Object obj; Ttt(Object obj){ this.obj=obj; } public void run() { synchronized(obj){ obj.notify(); } } } } 這樣是否能夠100%保證 obj.wait(); 在 obj.notify(); 之前執(zhí)行?
查看完整描述

2 回答

?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊

當(dāng)然不能!
因?yàn)槟膫€(gè)線程先進(jìn)入同步塊是不確定的。

main方法可以這樣改:

synchronized(obj) {
    ttt.start();
    obj.wait();
}

這樣可以保證ttt線程即使先于obj.wait()方法執(zhí)行,也無法進(jìn)入同步塊。

查看完整回答
反對 回復(fù) 2019-03-01
?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

不能,主線程還是ttt線程,那個(gè)先進(jìn)入同步塊synchronized(obj){}無法保證,樓上正解

查看完整回答
反對 回復(fù) 2019-03-01
  • 2 回答
  • 0 關(guān)注
  • 630 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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