使用Android异步http客户端库并行执行http请求

使用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。所

在我的android应用程序中,我必须从服务器并行y获取近50个数据(50
AsyncTask
)。因此,我使用
executeOnExecutor(AsyncTask.THREAD\u POOL\u EXECUTOR)实现了我的逻辑。我还了解了
executeOnExecutor
,它一次只能运行5个
AsyncTask
,队列大小为10。我们最多可以保留10个挂起的
AyncTask
。好的,现在在我的场景中,我有50个
AsyncTask
,我不能同时并行执行50个
AsyncTask
,因为队列的大小只有10。所以我不能同时执行50
AsyncTask

所以我想出了另一个逻辑,在那里我将一起创建并执行5
AyncTask
。在回调已执行的每个异步任务时,我将启动新的
AysncTask

第二种逻辑满足了我的要求。它工作得很好

注意:这里我使用自己的
AsyncTask
类,并使用apachehttp客户机发出http请求

现在,我最近听说了一个图书馆叫。我想用这个库重新实现上述逻辑

示例代码:

AsyncHttpClient=new AsyncHttpClient();
client.get(“http://www.google.com,新的AsyncHttpResponseHandler(){
@凌驾
成功时公共无效(字符串响应){
System.out.println(响应);
}
});
所以我的问题是,

  • 如何使用库并行执行http请求

  • 使用此库可以执行并行y的最大数量是多少


您使用的这个库使用了CachedThreadPool:

这意味着,如果执行大量请求,它将创建相应的线程来执行它们。如果线程是空闲的,并且没有关闭,它将为请求重用线程。所以我假设这意味着所有请求都将并行运行