Как обрабатывать RejectedExecutionException с ThreadPoolExecutor в java

Как лучше всего обработать RejectedExecutionException при использовании ThreadPoolExecutor в Java?

Я хочу убедиться, что отправленная задача не должна быть упущена из виду и должна наверняка казнят. На данный момент нет никаких жестких требований в реальном времени для выполнения задачи.

Одна из вещей, которые, как я думал, можно сделать, - это подождать в цикле, пока я не узнаю, что в исполняемой очереди есть место, а затем продолжить и добавить его в очередь.

Будем рады, если люди поделятся своим опытом.

Добавляю возможное решение, которое я задумал:

while(executor.getQueue().remainingCapacity <= 0){
// keep looping
Thread.sleep(100);
};
//if the loop exits ,indicates that we have space in the queue hence 
//go ahead and add to the queue 
executor.execute(new ThreadInstance(params));
6
задан Neeraj 24 February 2012 в 09:03
поделиться