Начиная с API 11 и выше, хорошим подходом является использование FixedThreadPool с асинхронными задачами.Выполните один раз:
ExecutorService threadPoolExecutor = Executors.newFixedThreadPool(3);
Где 3 - количество загрузок, которые вы хотите запустить одновременно.Он поставит задачу в очередь, если уже запущено 3 загрузки, и автоматически выполнит задачу позже.Запустите асинхронные задачи с помощью:
yourAsynTask.executeOnExecutor(threadPoolExecutor, params);
Params - это, вероятно, URL, к которому вы хотите подключиться.Вы можете прочитать его в onPostExecute вашей асинхронной задачи и подключиться к серверу, используя HttpURLConnection .
Убедитесь, что вы вызвали это при завершении работы:
threadPoolExecutor.shutdown()