被 ThreadPoolExecutor 拒绝,多个绑定服务

Rejected from ThreadPoolExecutor, multiple bound services

在我的一个绑定服务中的 FOR 循环中,我再次调用另一个绑定服务。我收到错误 "rejected from java.util.concurrent.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();
}

您可以使用AsyncTask来执行它。

检查:http://developer.android.com/reference/android/os/AsyncTask.html

这里有一个例子:http://programmerguru.com/android-tutorial/android-asynctask-example/

您收到此消息是因为您超出了 ThreadPoolExecutor

的任务数量

希望对您有所帮助。