Класс ReferenceQueue<T>

public class ReferenceQueue<T>
extends Object

Очереди ссылок, в которые регистрируемые объекты ссылок добавляются сборщиком мусора после обнаружения соответствующих изменений достижимости.

С момента:
1.2

Конструкторы

КонструкторОписание
ReferenceQueue()

Создаёт новую очередь объектов ссылок.

Методы

Модификатор и типМетодОписание
Reference<? extends T>poll()

Опрашивает эту очередь, чтобы узнать, доступен ли объект ссылки.

Reference<? extends T>remove()

Удаляет следующий объект ссылки в этой очереди, блокируя, пока один не станет доступным.

Reference<? extends T>remove​(long timeout)

Удаляет следующий объект ссылки в этой очереди, блокируя до тех пор, пока один не станет доступным или не истечёт заданный период ожидания.

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

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

Конструкторы

ReferenceQueue

public ReferenceQueue()

Создаёт новую очередь объектов ссылок.

Методы

poll

public Reference<? extends T> poll()

Опрашивает эту очередь, чтобы узнать, доступен ли объект ссылки. Если он доступен без дальнейшей задержки, то он удаляется из очереди и возвращается. В противном случае этот метод сразу возвращает null.

Возвращает:
Объект ссылки, если он был немедленно доступен, в противном случае null

remove

public Reference<? extends T> remove(long timeout)
                              throws IllegalArgumentException,
                                     InterruptedException

Удаляет следующий объект ссылки в этой очереди, блокируя до тех пор, пока один не станет доступным или не истечёт заданный период ожидания.

Этот метод не гарантирует выполнения в реальном времени: он планирует таймаут, как если бы он вызывал метод Object.wait(long).

Параметры:
timeout - Если положительное, блокировать до timeout миллисекунд во время ожидания добавления ссылки в эту очередь. Если ноль, блокировать неопределённо.
Возвращает:
Объект ссылки, если он был доступен в течение заданного периода ожидания, в противном случае null
Исключения:
IllegalArgumentException - Если значение аргумента таймаута отрицательное
InterruptedException - Если ожидание таймаута прервано

remove

public Reference<? extends T> remove()
                              throws InterruptedException

Удаляет следующий объект ссылки в этой очереди, блокируя, пока один не станет доступным.

Возвращает:
Объект ссылки, блокируя до тех пор, пока он не станет доступным
Исключения:
InterruptedException - Если ожидание прервано

© 1993, 2020, 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/11/docs/api/java.base/java/lang/ref/ReferenceQueue.html

Spec-Zone .ru
спецификации, руководства, описания, API