-1

В цикле FOR в одной из моих связанных служб я делаю другой вызов другой связанной услуги. Я получаю ошибку "rejected from java.util.concurrent.ThreadPoolExecutor". Я знаю, это потому, что для выполнения моих задач недостаточно потоков. Я немного смущен в отношении пулов потоков, но я знаю, что мне нужно что-то вроде этого, чтобы потоки подождали.Отклонено от ThreadPoolExecutor, несколько связанных служб

Как я могу заставить сообщения ждать (ниже) для бесплатной темы перед отправкой сообщения в службу?

Message message = Message.obtain(null, TwitterService.REQUEST, 0, 0); 
SendFBIDParcel parcel = new SendFBIDParcel(); 
parcel.id = item.getGivenID(); 

Bundle bundle = new Bundle(); 
bundle.putParcelable("id", parcel); 
message.setData(bundle); 

try { 
    messenger.send(message); 
    counter++; 
} catch (RemoteException e) { 
    e.printStackTrace(); 
} 
+0

Откуда у вас «мессенджер»? Можете ли вы повлиять на его конфигурацию? – Thilo

+0

Извините, что я не понимаю, посланник - это то, что я использую для отправки сообщения службе –

ответ

0

Для выполнения этой функции вы можете использовать AsyncTask.

Проверил: http://developer.android.com/reference/android/os/AsyncTask.html

Там пример здесь: http://programmerguru.com/android-tutorial/android-asynctask-example/

Вы получили это сообщение beacuse вы превысили количество задач для ThreadPoolExecutor

Надеются, что это помогает.

+0

Я использую связанный сервис для отправки запроса и жду, чтобы получить ответ - будет ли асинхронная задача ждать ответа до создания следующий запрос? –

+0

@NataliaSharon Да, вы можете установить таймаут. –

+0

не убивает поток через определенный промежуток времени, а не ждет ответа сети перед выполнением следующей задачи? –