requestqueue.java
来自「多线程与并发处理是程序设计好坏优劣的重要课题」· Java 代码 · 共 23 行
JAVA
23 行
import java.util.LinkedList;
public class RequestQueue {
private final LinkedList queue = new LinkedList();
public synchronized Request getRequest() {
while (queue.size() <= 0) {
try {
System.out.println(Thread.currentThread().getName() + ": wait() begins, queue = " + queue);
wait();
System.out.println(Thread.currentThread().getName() + ": wait() ends, queue = " + queue);
} catch (InterruptedException e) {
}
}
return (Request)queue.removeFirst();
}
public synchronized void putRequest(Request request) {
queue.addLast(request);
System.out.println(Thread.currentThread().getName() + ": notifyAll() begins, queue = " + queue);
notifyAll();
System.out.println(Thread.currentThread().getName() + ": notifyAll() ends, queue = " + queue);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?