我使用{{1}}并行运行两个异步任务。
让我们将task1和task2并行运行,现在只有在task1和task2完成异常时才会调用task3。是否有可能知道任务task1和task2何时完成工作?
答案 0 :(得分:0)
简单的答案是肯定的。当asyncTask完成其工作时,它调用onPostExecute。所以你可以有两个布尔值
boolean taskOneDone=false;
boolean taskTwoDone=false;
//inside taskOne
@Override onPostExecute(Object obj){
...
taskOneDone=true;
}
//inside taskTwo
@Override onPostExecute(Object obj){
...
taskTwoDone=true;
}
然后在你启动taskThree之前,你应该检查
if(taskOneDone && taskTwoDone) executeTaskThree();