真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

android等待,android等待所有的目標(biāo)文件鏈接網(wǎng)絡(luò)

Android怎么正確使用wait和notify方法

synchronized(obj) {

創(chuàng)新互聯(lián)建站長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為郊區(qū)企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,郊區(qū)網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

while(!condition) {

obj.wait();

}

obj.doSomething();

}

當(dāng)線程A獲得了obj鎖后,發(fā)現(xiàn)條件condition不滿足,無法繼續(xù)下一處理,于是線程A就wait() , 放棄對象鎖.

之后在另一線程B中,如果B更改了某些條件,使得線程A的condition條件滿足了,就可以喚醒線程A:

synchronized(obj) {

condition = true;

obj.notify();

}

需要注意的概念是:

# 調(diào)用obj的wait(), notify()方法前,必須獲得obj鎖,也就是必須寫在synchronized(obj) {…} 代碼段內(nèi)。

# 調(diào)用obj.wait()后,線程A就釋放了obj的鎖,否則線程B無法獲得obj鎖,也就無法在synchronized(obj) {…} 代碼段內(nèi)喚醒A。

# 當(dāng)obj.wait()方法返回后,線程A需要再次獲得obj鎖,才能繼續(xù)執(zhí)行。

# 如果A1,A2,A3都在obj.wait(),則B調(diào)用obj.notify()只能喚醒A1,A2,A3中的一個(具體哪一個由JVM決定)。

# obj.notifyAll()則能全部喚醒A1,A2,A3,但是要繼續(xù)執(zhí)行obj.wait()的下一條語句,必須獲得obj鎖,因此,A1,A2,A3只有一個有機會獲得鎖繼續(xù)執(zhí)行,例如A1,其余的需要等待A1釋放obj鎖之后才能繼續(xù)執(zhí)行。

# 當(dāng)B調(diào)用obj.notify/notifyAll的時候,B正持有obj鎖,因此,A1,A2,A3雖被喚醒,但是仍無法獲得obj鎖。直到B退出synchronized塊,釋放obj鎖后,A1,A2,A3中的一個才有機會獲得鎖繼續(xù)執(zhí)行

android如何等待另一個activity傳遞數(shù)據(jù)過來

判斷this.getintent!=null的是時候再執(zhí)行這段代碼。

看你的意思,應(yīng)該是一個選擇的activity,更合適用startActivityForResult,然后setResult接收值的方式獲取。

能主動讓android主線程等待1s嗎

當(dāng)然可以啊,你在主線程中

try {

Thread.sleep(1000); //就是當(dāng)前線程暫停1000毫秒

} catch (Exception e) {

// TODO: handle exception

}


文章名稱:android等待,android等待所有的目標(biāo)文件鏈接網(wǎng)絡(luò)
轉(zhuǎn)載注明:http://weahome.cn/article/dsdsdej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部