从ThreadPoolExecutor中被拒绝,多个绑定服务

时间:2016-01-18 12:06:47

标签: java android multithreading threadpoolexecutor java-threads

在我的一个绑定服务中的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();
}

1 个答案:

答案 0 :(得分:0)

您可以使用AsyncTask执行此操作。

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

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

您已收到此消息,因为您已超出ThreadPoolExecutor

的任务数量

希望它有所帮助。