[code]public class Flags2 {
private boolean isReady = false;
public synchronized void produce() {
isReady = true;
notifyAll();
}
public synchronized void consume() {
while(!isReady) {
try {
wait();
}catch(Exception ex) {}
}
isReay = true;
}
}[/code][code]public class Flags2 {
private boolean isReady = false;
public synchronized void produce() {
isReady = true;
notifyAll();
}
public synchronized void consume() {
while(!isReady) {
try {
wait();
}catch(Exception ex) {}
}
isReay = false;
}
}[/code]两段代码,最后一句 isReady = true; 或者 isReady = false;都可以编译,那么到底应该是isReady = ture还是isReady = false呢??为什么?
private boolean isReady = false;
public synchronized void produce() {
isReady = true;
notifyAll();
}
public synchronized void consume() {
while(!isReady) {
try {
wait();
}catch(Exception ex) {}
}
isReay = true;
}
}[/code][code]public class Flags2 {
private boolean isReady = false;
public synchronized void produce() {
isReady = true;
notifyAll();
}
public synchronized void consume() {
while(!isReady) {
try {
wait();
}catch(Exception ex) {}
}
isReay = false;
}
}[/code]两段代码,最后一句 isReady = true; 或者 isReady = false;都可以编译,那么到底应该是isReady = ture还是isReady = false呢??为什么?
解决方案 »
- [求助]前辈们帮忙推荐下一些看起来简单易懂的设计模式方面的书
- 小白一枚,请教关于包装类中字符串类型转换成基本数据类型的问题
- 关注程序执行效率的进,Swing使用Timer定时刷新会影响程序效率。如何解决?
- 程序启动时显示扉页
- JAVA如何得到当前日期是星期几?求JAVA代码
- GUI怎么用代码关闭一个窗口?
- JS中这个东西怎么弄,一个数字去对应一个字母如97对应a
- 怎么判断一个字符串,是否同时包含字母,数字,特殊字符串??????
- 大家帮忙看个overload 和 overriding的问题
- 各位大侠,帮帮忙>>
- 代码问题,想做个可以多次判断的,但每次判断结束后,总输出两行不想要的东西。
- 问一个与数据库相关的问题
Note: You may reuse code elements.
while(!isReady)就是要!isReady 为真,则isReady 为假,才进入循环,isReay = true;退出循环
false
producer and consumer
[code]public class Flags2 {
private boolean isReady = false;
public synchronized void produce() {
isReady = true; //生产者产生食物
notifyAll(); //通知消费者消耗食物
}
public synchronized void consume() {
while(!isReady) { //食物不存在
try {
wait(); //消费者等待食物产生
}catch(Exception ex) {}
}
isReay = false; //消费者消耗掉食物
}
}[/code