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

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

cancel疑問

for (myAsytask task : setMyAsytask) {
? ?task.cancel(false);
}

1、myAsytask task : setMyAsytask怎么理解

2、只是發送了一個取消請求,將AsyncTask標記為cancel狀態,但未真正取消線程的執行,實際上JAVA語言沒辦法粗暴地直接停止一個正在運行的線程,怎么理解

正在回答

2 回答

cancel():請求取消該task的執行,該請求即為cancel狀態標記。若該task已經完成,或者已經取消,等其他原因,該請求會失效。

反之請求成功,onCancel( )被調用。當線程未啟動,該線程不會啟動

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?當線程已啟動,cancel()中參數會決定是否打斷正在執行的線程。

task.cancel(false)實際意義:在task線程正在執行時,不會被打斷。

沒辦法直接停止運行中的線程:onCancel()根據cancel()返回值來間接決定是否停止線程

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

張慎宏 提問者

非常感謝!
2015-08-27 回復 有任何疑惑可以回復我~
  1. foreach的用法 是對setMyasytask中每一個task

  2. 斷電就可以停止了哈哈

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

舉報

0/150
提交
取消
Android必學-異步加載
  • 參與學習       50616    人
  • 解答問題       333    個

了解Android中的異步加載處理方法,這是面試問的最多的知識點

進入課程

cancel疑問

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

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

幫助反饋 APP下載

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

公眾號

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