public class RequestQueue {
private Queue<Request> requestQueue = new LinkedList<Request>();
public synchronized Request getRequest(){
while(requestQueue.size() == 0){
try {
wait(); //I
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return requestQueue.remove();
}
public synchronized void putRequst(Request request){
requestQueue.add(request);
notifyAll(); //此处执行后,将I处等待队列的所有线程唤醒
}// 该方法执行完后,从锁池选取一个线程,置为就绪状态
}