Класс ThreadPoolExecutor.DiscardOldestPolicy
java.lang.Object
java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy
- Все реализуемые интерфейсы:
RejectedExecutionHandler
- Внешний класс:
ThreadPoolExecutor
public static class ThreadPoolExecutor.DiscardOldestPolicy extends Object implements RejectedExecutionHandler
Обработчик отклонённых задач, который удаляет самую старую необработанную задачу, а затем повторяет попытку
execute, если только исполнитель не завершил работу; в этом случае задача удаляется. Эта политика редко бывает полезна в ситуациях, когда другие потоки могут ожидать завершения задач или необходимо регистрировать сбои. Вместо этого рассмотрите возможность использования обработчика следующего вида: new RejectedExecutionHandler() {
public void rejectedExecution(Runnable r, ThreadPoolExecutor e) {
Runnable dropped = e.getQueue().poll();
if (dropped instanceof Future<?>) {
((Future<?>)dropped).cancel(false);
// also consider logging the failure
}
e.execute(r); // retry
}}
- Начиная с:
- 1.5
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DiscardOldestPolicy() |
Создаёт DiscardOldestPolicy для указанного исполнителя. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
rejectedExecution |
Получает и игнорирует следующую задачу, которую исполнитель в противном случае выполнил бы, если такая задача доступна немедленно, а затем повторяет попытку выполнить задачу r, если только исполнитель не завершил работу; в этом случае задача r удаляется. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API будет удалён в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
DiscardOldestPolicy
public DiscardOldestPolicy()
Создаёт
DiscardOldestPolicy для указанного исполнителя.Подробное описание методов
rejectedExecution
public void rejectedExecution(Runnable r, ThreadPoolExecutor e)
Получает и игнорирует следующую задачу, которую исполнитель в противном случае выполнил бы, если такая задача доступна немедленно, а затем повторяет попытку выполнить задачу r, если только исполнитель не завершил работу; в этом случае задача r удаляется.
- Указано в:
-
rejectedExecutionв интерфейсеRejectedExecutionHandler - Параметры:
-
r— задача Runnable, выполнение которой запрошено -
e— исполнитель, пытающийся выполнить эту задачу
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.