gpt4 book ai didi

Android AsyncTask 同步

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:02 25 4
gpt4 key购买 nike

我有一个预定的服务(为了进行预定,我使用了 BroadcastReceiver 和 AlarmManager 的 bundle )。服务使用 AsyncTask 执行一些长时间运行的操作。

  1. 连接到服务器
  2. 检查一些更新
  3. 加载更新(如果存在)
  4. 执行数据更新操作

我这样从 onStart 方法调用任务:

onStart(...){
...
new AsyncUpdate(...).execute(...);
}

用户可以手动执行更新操作(他按下运行服务的按钮)。那么,如果他在执行 AsyncUpdate 任务期间按下按钮怎么办?根据引用,将创建新的工作线程,因此我需要同步它们。我为此使用了我的服务类中的静态参数:

synchronized(MyService.runLock){//public static Object runLock = new Object();
...perform download and update operations
}

这样对吗?

我以前使用过 :remote 服务,所以服务在一个单独的线程中执行,我不需要这些之间的同步,因为我知道我只有一个线程。

最佳答案

您可以使用 getStatus()方法。

保留对您的 AsyncUpdate 的引用,看看它是否返回 RUNNING。

关于Android AsyncTask 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com