//这个例子里面用到了现成的wait和notify操作,感觉很有用。所以记录下来。
//这里是一个Request的队列。实现了存放请求以及取出请求的操作。这里如果进行取出请求的操作时。如果队列为空则等待其他线程putRequest。
//其中request就是请求
//wait()是OBject的方法,不是Thread的方法!!!!所以调用下面类的getRequest()方法的线程会被等待。并放入RequestQueue的“等待区”。等到Request的notify方法
//被调用后那就唤醒RequestQueue等待区里面的线程
import java.util.LinkedList;
public class RequestQueue
{
private final LinkedList queue = new LinkedList();
public synchronized Request getRequest(){
while(queue.size()<0){
try{
wait();
}catch (Exception e){
}
}
return (Request)queue.removeFirst();
}
public synchronized void putRequest(Request request){
queue.addLast(request);
notifyAll();
}
}