java - 在android中安排多个异步任务

标签 java android multithreading android-asynctask priority-queue

我想安排或排队在后台执行多个 AsyncTask。我有一个在服务中运行的用于 HTTP 发布请求的 AsyncTask,同时我在 AsyncTask 的 UI 线程中再发出一个 HTTP 请求。

UI 线程执行时间过长,因为已经有一个线程在服务中运行。 如何解决这个问题。?

我需要暂停一个服务线程,我想先执行 UI 线程,然后为 AsyncTask 重新启动一个服务线程。

提前致谢

最佳答案

由于 AsyncTasks 可以共享一个线程,我会尝试通过调用来解耦它们:

my_task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void[])null);

代替 my_task.execute((Void[])null)

如本回答所述:Android SDK AsyncTask doInBackground not running (subclass)

另一种方法是使用 Executor 框架和 ThreadPoolExecutor .

关于java - 在android中安排多个异步任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22787482/

相关文章:

c# - 多线程 C# 应用程序日志文件锁定问题

java - 如何在java中将进程构建器命令作为线程运行

java - Spring Boot 服务中的日志轮换

android - 如何根据当前电池电量获取手机空闲时间的可能持续时间

android - 难以在移动应用程序的 native 或跨平台之间做出选择

android - 从 Activity 调用 Fragment 中的方法返回 java.lang.NullPointerException 错误

c# - WinForms中的计时器刻度事件和线程

java - Hibernate 搜索,过滤器位于其他过滤器之上

java - osmdroid:加载自定义图 block 源时显示的图 block 困惑

java - 使用本地依赖项构建 Maven 项目