Класс ReferenceQueue<T>
- Параметры типа:
T— тип объекта-ссылки
public class ReferenceQueue<T> extends Object
Эффекты согласованности памяти: добавление ссылки в очередь (сборщиком мусора или в результате успешного вызова Reference.enqueue()) происходит до удаления ссылки из очереди с помощью poll() или remove(long).
- Начиная с версии:
- 1.2
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ReferenceQueue() |
Создает новую очередь объектов-ссылок. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Reference |
poll() |
Проверяет, доступен ли объект-ссылка в этой очереди. |
Reference |
remove() |
Извлекает следующий объект-ссылку из этой очереди, блокируя выполнение до его появления. |
Reference |
remove |
Извлекает следующий объект-ссылку из этой очереди, блокируя выполнение до его появления или истечения указанного времени ожидания. |
Подробное описание конструкторов
ReferenceQueue
public ReferenceQueue()
Подробное описание методов
poll
public Reference<? extends T> poll()
null.- Возвращает:
- Объект-ссылку, если он был немедленно доступен; в противном случае
null - См. также:
remove
public Reference<? extends T> remove(long timeout) throws InterruptedException
Этот метод не обеспечивает гарантий реального времени: ожидание с ограничением по времени планируется так, как если бы был вызван метод Object.wait(long).
- Параметры:
-
timeout— если значение положительное, ожидание добавления ссылки в эту очередь продолжается не болееtimeoutмиллисекунд. Если значение равно нулю, ожидание продолжается бесконечно. - Возвращает:
- Объект-ссылку, если он был доступен в течение указанного времени ожидания; в противном случае
null - Исключения:
-
IllegalArgumentException— если значение аргумента времени ожидания отрицательно -
InterruptedException— если ожидание с ограничением по времени было прервано - См. также:
remove
public Reference<? extends T> remove() throws InterruptedException
- Возвращает:
- Объект-ссылку; ожидание продолжается до его появления
- Исключения:
-
InterruptedException— если ожидание было прервано - См. также:
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/ref/ReferenceQueue.html