ReferenceQueue
public class ReferenceQueue
extends Object
java.lang.Object | |
↳ | java.lang.ref.ReferenceQueue<T> |
Reference queues, to which registered reference objects are appended by the garbage collector after the appropriate reachability changes are detected.
Summary
Public constructors | |
---|---|
ReferenceQueue() Constructs a new reference-object queue. |
Public methods | |
---|---|
Reference<? extends T> | poll() Polls this queue to see if a reference object is 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. |
Reference<? extends T> | remove() Removes the next reference object in this queue, blocking until one becomes available. |
Inherited methods | |
---|---|
Public constructors
ReferenceQueue
public ReferenceQueue ()
Constructs a new reference-object queue.
Public methods
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 | |
---|---|
Reference<? extends T> | A reference object, if one was immediately available, otherwise null |
remove
public 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.
This method does not offer real-time guarantees: It schedules the timeout as if by invoking the Object.wait(long)
method.
Parameters | |
---|---|
timeout | long : If positive, block for up to timeout milliseconds while waiting for a reference to be added to this queue. If zero, block indefinitely. |
Returns | |
---|---|
Reference<? extends T> | 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 ()
Removes the next reference object in this queue, blocking until one becomes available.
Returns | |
---|---|
Reference<? extends T> | A reference object, blocking until one becomes available |
Throws | |
---|---|
InterruptedException | If the wait is interrupted |