多线程设计模式 -- suspension
2009-09-17 00:00:00 来源:WEB开发网请求对象
Java代码
public class Request {
private final String name;
public Request(String name) {
this.name = name;
}
public String getName() {
return name;
}
public String toString() {
return "[ Request " + name + " ]";
}
}
工作缓存器
Java代码
public class RequestQueue {
//采用LinkedList 保存客户请求
private final LinkedList queue = new LinkedList();
//服务器获取请求
//保证同时只一个服务器执行这个方法
public synchronized Request getRequest() {
//当客户请求队列为空时等待
while (queue.size() <= 0) {
try {
wait();//等到客户添加请求
} catch (InterruptedException e) {
}
}
return (Request)queue.removeFirst();
}
//客户添加请求
//保证同时只一个客户执行这个方法
public synchronized void putRequest(Request request) {
queue.addLast(request);
notifyAll();//唤醒wait()方法,执行程序
}
}
Tags:线程 设计模式 suspension
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接