Класс ReferenceQueue<T>
- java.lang.Object
-
- java.lang.ref.ReferenceQueue<T>
public class ReferenceQueue<T> extends Object
Очереди ссылок, в которые объекты зарегистрированных ссылок добавляются сборщиком мусора после обнаружения соответствующих изменений доступности.
- Since:
- 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.