为了账号安全,请及时绑定邮箱和手机立即绑定

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必学-异步加载
  • 参与学习       50627    人
  • 解答问题       311    个

了解Android中的异步加载处理方法,这是面试问的最多的知识点

进入课程

cancel疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信