-1

Я разрабатываю приложение для Android, в котором я хочу интегрировать данные (временную шкалу) из нескольких социальных медиа. Выполнение вызовов API и получение ответа от каждого из них требует много времени, если это делается серийным способом. Поэтому я хочу, чтобы параллельная среда вызывала вызовы API для facebook twitter Instagram и т. Д. И извлекала данные за минимальное время.выборка данных параллельно

В настоящее время я использовал задачи Async для получения данных из каждого социального медиа. Одна из задач async вызовет api facebook для извлечения данных, вторая вызовет api из twitter и так далее. Я вызываю все задачи async из потока пользовательского интерфейса. Я думал, что все задачи async будут работать одновременно в параллельной среде. Но после запуска кода кажется, что одна асинхронная задача блокирует работу других, и они вызываются только последовательно. Первая задача асинхронизации завершает работу сначала, и последняя асинхронная функция завершает работу. Версия Android, которую я использую для разработки, - 4.3. Я искал информацию о THREAD POOL EXECUTOR в android для параллельной обработки, но я не получаю четкой идеи. Было бы здорово, если бы кто-нибудь мог мне помочь. Заранее спасибо.

+0

Может быть теперь мой вопрос не является слишком широким :) – Sagar

ответ

0

Различные версии Android-ручек AsyncTasks по-разному. До 1.6 задачи выполнялись последовательно. От 1.6 до 2.3.7 они обрабатывались асинхронно с пулом потоков. С 3,0 года они вернулись к обработке их последовательно.

Вы можете принудительно использовать пул потоков, явно указывая исполняемый файл.

Вместо вызова следующих выполнять свои задачи

task.execute(param1, param2, ...) 

вызов

task.executeOnExecuter(AsyncTask.THREAD_POOL_EXECUTER, param1, param2, ...) 
+0

Спасибо за ваш ответ. Я попробую, что сказал u hv :) – Sagar

+0

Ваш ответ был полезен. Спасибо :) Я потратил много времени на получение данных. – Sagar

Смежные вопросы