referencequeue.java

来自「kaffe Java 解释器语言,源码,Java的子集系统,开放源代码」· Java 代码 · 共 73 行

JAVA
73
字号
/* * Java core library component. * * Copyright (c) 1997, 1998 *      Transvirtual Technologies, Inc.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution * of this file. */package java.lang.ref;import java.util.Vector;public class ReferenceQueue extends Object {private Vector que;public ReferenceQueue() {	que = new Vector();}public Reference poll() {	synchronized (this) {		if (!que.isEmpty()) {			Reference ref = (Reference)que.firstElement();			que.removeElement(ref);			return (ref);		}		return (null);	}}public Reference remove(long timeout) throws IllegalArgumentException, InterruptedException {	synchronized (this) {		for (;;) {			if (!que.isEmpty()) {				Reference ref = (Reference)que.firstElement();				que.removeElement(ref);				return (ref);			}			wait(timeout);			if (timeout > 0) {				return (null);			}		}	}}public Reference remove() throws InterruptedException {	return (remove(0));}boolean isEnqueued(Reference ref) {	synchronized (this) {		if (que.contains(ref)) {			return (true);		}		else {			return (false);		}	}}void enqueue(Reference ref) {	synchronized (this) {		que.addElement(ref);		notify();	}}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?