Recyclerview数据来自多个线程

时间:2016-06-13 16:58:51

标签: android android-asynctask retrofit

我有两个使用Jsoup解析网站的asynctask和一个使用网站API检索Json数据的改造实例。所有这三项任务是否并行继续或按顺序执行?此外,我只能在完成所有三项任务时设置我的回收器适配器(2 asynctask和1 Retrofit)。

我如何知道所有三项任务何时完成(如果它们是并行执行的话),那么我可以设置recyclerview的适配器吗?

1 个答案:

答案 0 :(得分:1)

如果您正在使用AsyncTask.execute(),那么您的两个Jsoup任务将在后台线程中逐个执行。

一旦来自改装线程池的线程空闲,您的改装调用就会开始。

因此,这些任务将并行开始。

要保持所有任务完成的跟踪,您可以创建一个公共回调方法,该方法在这些任务成功时被调用。 Asynctask的OnPostExecute调用此回调,然后onSuccess of Retrofit API调用调用此回调。

当你收到回调时增加一个计数变量..当计数达到3时..设置适配器。

  

请注意:您必须考虑错误处理方案。