compact1, compact2, compact3
java.lang.ref
Class ReferenceQueue<T>
- java.lang.Object
-
- java.lang.ref.ReferenceQueue<T>
-
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 and Description ReferenceQueue()
Constructs a new reference-object queue.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and 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.
-
-
-
Method Detail
poll
public Reference<? extends T> 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
public Reference<? extends T> remove(long timeout) throws IllegalArgumentException, InterruptedException
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 totimeout
milliseconds 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 negative -
InterruptedException
- If the timeout wait is interrupted
remove
public Reference<? extends T> remove() throws InterruptedException
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
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.