cancel疑問
for (myAsytask task : setMyAsytask) {
? ?task.cancel(false);
}
1、myAsytask task : setMyAsytask怎么理解
2、只是發送了一個取消請求,將AsyncTask標記為cancel狀態,但未真正取消線程的執行,實際上JAVA語言沒辦法粗暴地直接停止一個正在運行的線程,怎么理解
for (myAsytask task : setMyAsytask) {
? ?task.cancel(false);
}
1、myAsytask task : setMyAsytask怎么理解
2、只是發送了一個取消請求,將AsyncTask標記為cancel狀態,但未真正取消線程的執行,實際上JAVA語言沒辦法粗暴地直接停止一個正在運行的線程,怎么理解
2015-08-12
舉報
2015-08-22
cancel():請求取消該task的執行,該請求即為cancel狀態標記。若該task已經完成,或者已經取消,等其他原因,該請求會失效。
反之請求成功,onCancel( )被調用。當線程未啟動,該線程不會啟動
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?當線程已啟動,cancel()中參數會決定是否打斷正在執行的線程。
task.cancel(false)實際意義:在task線程正在執行時,不會被打斷。
沒辦法直接停止運行中的線程:onCancel()根據cancel()返回值來間接決定是否停止線程
2015-08-12
foreach的用法 是對setMyasytask中每一個task
斷電就可以停止了哈哈