ReferenceQueue (Java SE 13 & JDK 13 )
public class ReferenceQueue<T> extends Object
Reference queues, to which registered reference objects are appended by the garbage collector after the appropriate reachability changes are detected.
- Since:
- 1.2
-
Constructor Summary
Constructors Constructor Description ReferenceQueue()Constructs a new reference-object queue.
-
Method Summary
Modifier and Type Method Description Reference<? extends T>poll()Polls this queue to see if a reference object is available.
Reference<? extends T>remove()Removes the next reference object in this queue, blocking until one becomes available.
Reference<? extends T>remove(long timeout)Removes the next reference object in this queue, blocking until either one becomes available or the given timeout period expires.
-
Constructor Details
-
ReferenceQueue
public ReferenceQueue()
Constructs a new reference-object queue.
-
-
Method Details
-
poll
Polls this queue to see if a reference object is available. If one is available without further delay then it is removed from the queue and returned. Otherwise this method immediately returns
null.- Returns:
- A reference object, if one was immediately available,
otherwise
null
-
remove
Removes the next reference object in this queue, blocking until either one becomes available or the given timeout period expires.
This method does not offer real-time guarantees: It schedules the timeout as if by invoking the
Object.wait(long)method.- Parameters:
timeout- If positive, block for up totimeoutmilliseconds while waiting for a reference to be added to this queue. If zero, block indefinitely.- Returns:
- A reference object, if one was available within the specified
timeout period, otherwise
null - Throws:
IllegalArgumentException- If the value of the timeout argument is negativeInterruptedException- If the timeout wait is interrupted
-
remove
Removes the next reference object in this queue, blocking until one becomes available.
- Returns:
- A reference object, blocking until one becomes available
- Throws:
InterruptedException- If the wait is interrupted
-
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2019, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.