title: Call AsyncTask multiple times parallel
body: <p>I am trying to call AsyncTask from a loop.It is working properly but the issue is it taking quite more time to execute all the request.Please suggest me how could i make it more fast .</p>
  
  <pre><code>for (int i = 0; i &lt; 6; i++) {
      response  = requestWeatherUpdate(location);
  }
  </code></pre>
  
  <p><strong>requestWeatherUpdate</strong></p>
  
  <pre><code>private WeatherResponse requestWeatherUpdate(String location) {
          url = ""+ location;
          Log.d("URL for Weather Upadate", url);
          WeatherUpdateAsyncTask weatherReq = new WeatherUpdateAsyncTask();
          String weatherRequestResponse = "";
          try {
              weatherRequestResponse = weatherReq.execute(url).get();
              if (weatherRequestResponse != "") {
                  parsedWeatherResponse = ParseWeatherResponseXML
                          .parseMyTripXML(weatherRequestResponse);
              }
  
          } catch (InterruptedException e) {
              e.printStackTrace();
          } catch (ExecutionException e) {
              e.printStackTrace();
          } catch (ParserConfigurationException e) {
              e.printStackTrace();
          } catch (SAXException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          } catch (IOException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
          return parsedWeatherResponse;
  
      }
  </code></pre>
  
  <p><strong>Used CallBack</strong> </p>
  
  <pre><code>  public class WeatherUpdateAsyncTask extends AsyncTask&lt;String, Void, String&gt; {
      Context context;
      CallBack callBack;
  
      public WeatherUpdateAsyncTask(CallBack callBack) {
          this.callBack = callBack;
      }
  
      @Override
      protected String doInBackground(String... arg0) {
          String responseString = "";
          HttpClient client = null;
          try {
              client = new DefaultHttpClient();
              HttpGet get = new HttpGet(arg0[0]);
              client.getParams().setParameter("http.socket.timeout", 6000);
              client.getParams().setParameter("http.connection.timeout", 6000);
              HttpResponse responseGet = client.execute(get);
              HttpEntity resEntityGet = responseGet.getEntity();
              if (resEntityGet != null) {
                  responseString = EntityUtils.toString(resEntityGet);
                  Log.i("GET RESPONSE", responseString.trim());
              }
          } catch (Exception e) {
              Log.d("ANDRO_ASYNC_ERROR", "Error is " + e.toString());
          }
          Log.d("ANDRO_ASYNC_RESPONSE", responseString.trim());
          client.getConnectionManager().shutdown();
          return responseString.trim();
  
      }
  
      @Override
      protected void onPostExecute(String result) {
          // TODO Auto-generated method stub
          super.onPostExecute(result);
          callBack.run(result);
      }
  
  }
  </code></pre>
  
  <p><strong>requestWeatherUpdate</strong></p>
  
  <pre><code> private WeatherResponse requestWeatherUpdate(String location) {
      url = ""
              + location;
      Log.d("URL for Weather Upadate", url);
      WeatherUpdateAsyncTask weatherReq = new WeatherUpdateAsyncTask(new CallBack() {
          @Override
          public void run(Object result) {
              try {
                  String AppResponse = (String) result;
                  response = ParseWeatherResponseXML
                          .parseMyTripXML(AppResponse);
  
              } catch (Exception e) {
                  Log.e("TAG Exception Occured",
                          "Exception is " + e.getMessage());
              }
          }
      });
      weatherReq.execute(url);
      return response;
  
  }
  </code></pre>
  
  <p>Frm here i calling </p>
  
  <pre><code>for (int i = 0; i &lt; 4; i++) {
              inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
              RelativeLayout layout = (RelativeLayout) inflater.inflate(
                      R.layout.sector_details, depart_arrivals_details, false);
              depart_time = (TextView)layout.findViewById(R.id.depart_time);
              depart_airport_city = (TextView)layout.findViewById(R.id.depart_airport_city);
              temprature = (TextView)layout.findViewById(R.id.temprature);
              humidity = (TextView)layout.findViewById(R.id.humidity);
              flight_depart_image = (ImageView)layout.findViewById(R.id.flight_depart_image);
  
  
              depart_time.setText("20:45");
              depart_airport_city.setText("Mumbai");
              /*
               * This part will be updated when we will se the request and get the response 
               * then we have to set the temp and humidity for each city that we have recived
               * */
              temprature.setText("");//Here i have set the values from the response i recived from the AsynkTask
              humidity.setText("");//Here i have set the values from the response i recived from the AsynkTask
  
              flight_depart_image.setImageResource(R.drawable.f1);
  
              depart_arrivals_details.addView(layout, i);
          }
  </code></pre>