【发布时间】:2014-07-26 04:58:22
【问题描述】:
我正在编写一个应用程序,它应该首先一个接一个地运行 2 个方法,每个方法需要 2 秒来获取第一个 tokenId,然后运行 3-5 次调用不同的 Web 服务来获取数据。每次调用web service 需要 5 秒,所以我不想在一个接一个地运行它们时等待 20 秒。
获取连接然后获取令牌:
connect() 得到结果后,运行getToken ()。
之后我需要显示从 3-5 web services 获得的数据,所以我想并行执行以节省一些时间。我不想等待每个完成然后运行下一个,所以我可能需要使用 3-5 个并行 Threads 来完成,然后每个 Thread 将数据保存到可共享的地方,毕竟完成在 UI 上显示数据。
一些问题:
1- 要实现connect() 和之后的getToken(),我应该为connect() 运行AsyncTask,然后在onPostExecute() 中为getToken() 启动一个新的AsyncTask,结果来自connect()?
2- 因为我在每个网络服务中的所有工作都是发送数据并等待它的到来- 当每个人都调用不同的 web service 并获得结果时创建 3-4 Theards 是否正确-之后将其保存到全局位置,然后才显示它?如何实现这样的事情?
【问题讨论】:
标签: java android multithreading android-asynctask parallel-processing