使用Android异步http客户端库并行执行http请求
在我的android应用程序中,我必须从服务器并行y获取近50个数据(50使用Android异步http客户端库并行执行http请求,android,http,apache-httpclient-4.x,asynctaskloader,android-async-http,Android,Http,Apache Httpclient 4.x,Asynctaskloader,Android Async Http,在我的android应用程序中,我必须从服务器并行y获取近50个数据(50AsyncTask)。因此,我使用executeOnExecutor(AsyncTask.THREAD\u POOL\u EXECUTOR)实现了我的逻辑。我还了解了executeOnExecutor,它一次只能运行5个AsyncTask,队列大小为10。我们最多可以保留10个挂起的AyncTask。好的,现在在我的场景中,我有50个AsyncTask,我不能同时并行执行50个AsyncTask,因为队列的大小只有10。所
AsyncTask
)。因此,我使用executeOnExecutor(AsyncTask.THREAD\u POOL\u EXECUTOR)实现了我的逻辑代码>。我还了解了executeOnExecutor
,它一次只能运行5个AsyncTask
,队列大小为10。我们最多可以保留10个挂起的AyncTask
。好的,现在在我的场景中,我有50个AsyncTask
,我不能同时并行执行50个AsyncTask
,因为队列的大小只有10。所以我不能同时执行50AsyncTask
所以我想出了另一个逻辑,在那里我将一起创建并执行5AyncTask
。在回调已执行的每个异步任务时,我将启动新的AysncTask
第二种逻辑满足了我的要求。它工作得很好
注意:这里我使用自己的AsyncTask
类,并使用apachehttp客户机发出http请求
现在,我最近听说了一个图书馆叫。我想用这个库重新实现上述逻辑
示例代码:
AsyncHttpClient=new AsyncHttpClient();
client.get(“http://www.google.com,新的AsyncHttpResponseHandler(){
@凌驾
成功时公共无效(字符串响应){
System.out.println(响应);
}
});
所以我的问题是,
- 如何使用库并行执行http请求
- 使用此库可以执行并行y的最大数量是多少
您使用的这个库使用了CachedThreadPool:
这意味着,如果执行大量请求,它将创建相应的线程来执行它们。如果线程是空闲的,并且没有关闭,它将为请求重用线程。所以我假设这意味着所有请求都将并行运行