Spec-Zone.ru › OpenJDK 27

Класс 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(Runnable r, ThreadPoolExecutor e)
Получает и игнорирует следующую задачу, которую исполнитель в противном случае выполнил бы, если такая задача доступна немедленно, а затем повторяет попытку выполнить задачу r, если только исполнитель не завершил работу; в этом случае задача r удаляется.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API будет удалён в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

DiscardOldestPolicy

public DiscardOldestPolicy()
Создаёт DiscardOldestPolicy для указанного исполнителя.

Подробное описание методов

rejectedExecution

public void rejectedExecution(Runnable r, ThreadPoolExecutor e)
Получает и игнорирует следующую задачу, которую исполнитель в противном случае выполнил бы, если такая задача доступна немедленно, а затем повторяет попытку выполнить задачу r, если только исполнитель не завершил работу; в этом случае задача r удаляется.
Указано в:
rejectedExecution в интерфейсе RejectedExecutionHandler
Параметры:
r — задача Runnable, выполнение которой запрошено
e — исполнитель, пытающийся выполнить эту задачу

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры основных понятий, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API