Класс 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 отбрасывается. |
Подробное описание конструкторов
DiscardOldestPolicy
public DiscardOldestPolicy()
Создает
DiscardOldestPolicy для указанного исполнителя.Подробное описание методов
rejectedExecution
public void rejectedExecution(Runnable r, ThreadPoolExecutor e)
Получает и игнорирует следующую задачу, которую исполнитель в противном случае выполнил бы, если такая задача немедленно доступна, а затем повторяет попытку выполнения задачи r, если только исполнитель не остановлен; в этом случае задача r отбрасывается.
- Определено в:
-
rejectedExecutionв интерфейсеRejectedExecutionHandler - Параметры:
-
r— исполняемая задача, выполнение которой запрошено -
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ThreadPoolExecutor.DiscardOldestPolicy.html