コード例 #1
0
 /*     */ private Reference<? extends T> reallyPoll() {
   /*  75 */ if (this.head != null) {
     /*  76 */ Reference localReference = this.head;
     /*  77 */ this.head = (localReference.next == localReference ? null : localReference.next);
     /*  78 */ localReference.queue = NULL;
     /*  79 */ localReference.next = localReference;
     /*  80 */ this.queueLength -= 1L;
     /*  81 */ if ((localReference instanceof FinalReference)) {
       /*  82 */ VM.addFinalRefCount(-1);
       /*     */ }
     /*  84 */ return localReference;
     /*     */ }
   /*  86 */ return null;
   /*     */ }
コード例 #2
0
 /*     */ boolean enqueue(Reference<? extends T> paramReference) {
   /*  58 */ synchronized (paramReference) {
     /*  59 */ if (paramReference.queue == ENQUEUED) return false;
     /*  60 */ synchronized (this.lock) {
       /*  61 */ paramReference.queue = ENQUEUED;
       /*  62 */ paramReference.next = (this.head == null ? paramReference : this.head);
       /*  63 */ this.head = paramReference;
       /*  64 */ this.queueLength += 1L;
       /*  65 */ if ((paramReference instanceof FinalReference)) {
         /*  66 */ VM.addFinalRefCount(1);
         /*     */ }
       /*  68 */ this.lock.notifyAll();
       /*  69 */ return true;
       /*     */ }
     /*     */ }
   /*     */ }