< prev index next >
src/java.base/share/classes/java/lang/ref/ReferenceQueue.java
Print this page
8203327: Small cleanups in java.lang.ref
Reviewed-by: mr
*** 41,61 ****
/**
* Constructs a new reference-object queue.
*/
public ReferenceQueue() { }
! private static class Null<S> extends ReferenceQueue<S> {
! boolean enqueue(Reference<? extends S> r) {
return false;
}
}
! static ReferenceQueue<Object> NULL = new Null<>();
! static ReferenceQueue<Object> ENQUEUED = new Null<>();
private static class Lock { };
! private Lock lock = new Lock();
private volatile Reference<? extends T> head;
private long queueLength = 0;
boolean enqueue(Reference<? extends T> r) { /* Called only by Reference class */
synchronized (lock) {
--- 41,61 ----
/**
* Constructs a new reference-object queue.
*/
public ReferenceQueue() { }
! private static class Null extends ReferenceQueue<Object> {
! boolean enqueue(Reference<?> r) {
return false;
}
}
! static final ReferenceQueue<Object> NULL = new Null();
! static final ReferenceQueue<Object> ENQUEUED = new Null();
private static class Lock { };
! private final Lock lock = new Lock();
private volatile Reference<? extends T> head;
private long queueLength = 0;
boolean enqueue(Reference<? extends T> r) { /* Called only by Reference class */
synchronized (lock) {
< prev index next >