java - 在android中链接2个异步任务的正确方法

标签 java android multithreading android-asynctask chaining

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

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

我有没有办法定义两个异步任务而不相互绑定(bind)并在特定情况下将它们链接起来?

非常感谢您的帮助。

最佳答案

你可以尝试这样的事情:

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,所以无法验证。

关于java - 在android中链接2个异步任务的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853992/

相关文章:

java - 请至少选择一个签名版本在 Android Studio 2.3 中使用

winforms - 如何在自己的线程上创建表单并在整个应用程序生命周期中保持其打开状态

c++ - 从线程池调用时,boost 的 io_service 是否共享请求线程?

Android:市场更新后删除预装(预打包)的应用程序快捷方式

android - 在Retrofit中, "callbacks will happen on the same thread that executed the HTTP request"是什么意思?

java - 我如何针对单线程/多线程调整它?

java - 在 spring-boot 1.4.x 中添加原因短语

java - 从 Integer java 列表的列表中查找第一个元素

java - 你如何在java中获取进程ID?

安卓:ActivityNotFoundException