调用cancel(boolean)就会间接调用iscancelled(),返回true;
public final boolean cancel(boolean mayInterruptIfRunning) {mCancelled.set(true);return mFuture.cancel(mayInterruptIfRunning);
}
其实这个方法是给Asynctask设置了”canceled”状态,也就是说让线程池中的某个控制状态的的标志位变为CANCEL状态
然后在onProgressUpdate()、doInBackground()这两个方法中,刚开始的时候会判断线程中是否取消状态,true的话return
这也就是为什么我们调用cancel(),AsyncTask没有取消的原因
本文发布于:2024-02-04 23:47:06,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170719144160862.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |