Класс 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/concurrent/ThreadPoolExecutor.DiscardOldestPolicy.html