Spec-Zone.ru › OpenJDK 21

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

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

DiscardOldestPolicy

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

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

rejectedExecution

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

© 1993, 2023, 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/21/docs/api/java.base/java/util/concurrent/ThreadPoolExecutor.DiscardOldestPolicy.html

Spec-Zone.ru

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