1 Star 0 Fork 0

schwarizard / Chapter 11

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Clerk 856 Bytes
一键复制 编辑 原始数据 按行查看 历史
schwarizard 提交于 2016-04-11 19:21 . new file
public class Clerk {
private int product = -1;
public synchronized void setProduct(int product) throws InterruptedException {
waitIfFull();
this.product = product;
System.out.printf("生产者设定 (%d)%n", this.product);
notify();
}
private synchronized void waitIfFull() throws InterruptedException {
while (this.product != -1) {
wait();
}
}
public synchronized int getProduct() throws InterruptedException {
waitIfEmpty();
int p = this.product;
this.product = -1;
System.out.printf("消费者取走 (%d)%n", p);
notify();
return p;
}
private synchronized void waitIfEmpty() throws InterruptedException {
while (this.product == -1) {
wait();
}
}
}
Java
1
https://gitee.com/schwarizard/Chapter-11.git
git@gitee.com:schwarizard/Chapter-11.git
schwarizard
Chapter-11
Chapter 11
master

搜索帮助