Класс 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
}}
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DiscardOldestPolicy() |
Создаёт DiscardOldestPolicy для данного исполнителя. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
rejectedExecution |
Получает и игнорирует следующую задачу, которую выполнил бы исполнитель, если она доступна немедленно, а затем повторно пытается выполнить задачу r, если выполнение задачи не было остановлено, в противном случае задача r отбрасывается. |
Подробное описание конструкторов
DiscardOldestPolicy
public DiscardOldestPolicy()
Создаёт
DiscardOldestPolicy для данного исполнителя.Подробное описание методов
rejectedExecution
public void rejectedExecution(Runnable r, ThreadPoolExecutor e)
Получает и игнорирует следующую задачу, которую выполнил бы исполнитель, если она доступна немедленно, а затем повторно пытается выполнить задачу r, если выполнение задачи не было остановлено, в противном случае задача r отбрасывается.
- Установлено:
-
rejectedExecutionв интерфейсеRejectedExecutionHandler - Параметры:
-
r- запрашиваемая для выполнения задача runnable -
e- исполнитель, пытающийся выполнить эту задачу
© 1993, 2021, 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/17/docs/api/java.base/java/util/concurrent/ThreadPoolExecutor.DiscardOldestPolicy.html