请问boolean flag=false;可否改为boolean flag;
来源:5-1 线程间通信
慕村2333636
2021-11-16 23:40:40
public class Queue {
private int n;
boolean flag=false;
public synchronized int get() {
if(!flag){
try {
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("消费:"+n);
flag=false;//消费完毕,容器中没有数据
notifyAll();
return n;
}

public synchronized void set(int n) {
if(flag){
try {
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("生产:"+n);
this.n = n;
flag=true;//生产完毕,容器中已经有数据
notifyAll();
}
}
1回答
好帮手慕小蓝
2021-11-17
同学你好,可以这样修改,因为flag作为成员属性,它的默认值就是false。不过为了提高代码的可读性,不建议这样书写。
祝学习愉快~
相似问题