亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

count無論如何都會是3

有個問題,老師這個無論如何都會打印下載成功的消息,因為不管有沒有下載你都對主線程發送了消息,而且count都會增加1,我感覺有問題!

正在回答

4 回答

仔細看看還真是這樣啊,看來學java不能鉆牛角尖!上一課寫的代碼也是這個問題。,

0 回復 有任何疑惑可以回復我~

是這樣的。。我第一次RandomAccessFile 里的?seek這個沒有指定但還是提示成功的,第二次沒有判斷

是否是最后一個線程

if(i==2){
? ?end = contentLength;
}這個,但結果顯示都是成功的。

0 回復 有任何疑惑可以回復我~

3個線程,每次成功,才會發生一個message給handleMessaage,count才會加1,這里的代碼并沒有循環加1,所以不可能出現你說的問題

0 回復 有任何疑惑可以回復我~

首先sendMessage(message)是放在下載語句之后,如果下載過程出錯,會拋出異常,程序中止,sendMessage(message)不會被執行;也就是說,sendMessage(message)執行了肯定是下載成功了,而只有當sendMessage(message)執行了,handleMessage才會執行,count才+1,即只有下載成功了count才+1。

總體上:執行完下載語句→sendMessage(message)→handleMessage()→count+1.

關鍵是理解handleMessage()并不會自動執行,只有sendMessage(message)之后才會調用它。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android中的Http通信
  • 參與學習       64654    人
  • 解答問題       347    個

了解Android-http網絡編程應用,常見忘了請求相關應用

進入課程

count無論如何都會是3

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號