在我的一个绑定服务中的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();
}
答案 0 :(得分:0)
您可以使用AsyncTask
执行此操作。
检查:http://developer.android.com/reference/android/os/AsyncTask.html
这里有一个例子:http://programmerguru.com/android-tutorial/android-asynctask-example/
您已收到此消息,因为您已超出ThreadPoolExecutor
希望它有所帮助。