首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android中2个异步任务的正确链接方式

android中2个异步任务的正确链接方式
EN

Stack Overflow用户
提问于 2013-07-25 17:24:34
回答 2查看 1.8K关注 0票数 4

我有两个异步任务,即任务1和任务2。

我需要先运行task 1,然后再运行task 2,但我不想通过在task 1的onPostExecute实现中调用task 2来耦合这两个任务;因为在其他情况下,我将task 1用作独立的。

是否有一种方法可以定义两个异步任务,而不是彼此绑定,并在特定情况下将它们链接起来?

非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2013-07-25 20:18:09

您可以尝试如下所示:

代码语言:javascript
复制
final Executor directExecutor = new Executor() {
  public void execute(Runnable r) {
    r.run();
  }
};
AsyncTask.execute(new Runnable() {
  task1.executeOnExecutor(directExecutor, params1);
  task2.executeOnExecutor(directExecutor, params2);
});

我的机器上现在没有android SDK,所以我无法验证它。

票数 0
EN

Stack Overflow用户

发布于 2013-07-25 17:33:31

您可以执行以下操作:

代码语言:javascript
复制
YourAsyncClass1 thread1 = new YourAsyncClass1();
thread1.execute(inputArgument1);

    try {
        outputResult1 = thread1.get();
    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (ExecutionException e) {
        e.printStackTrace();
    }
if(outputResult1 == true /*Or expected result*/){
  YourAsyncClass2 thread2 = new YourAsyncClass2();
  thread2.execute(inputArgument2);
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17853992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档