A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Student {
private boolean flag;
private String name;
private int age;
public synchronized void set(String name, int age) {
  if (this.flag) {
   try {
    this.wait();
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
  }
  // 此处不能加else语句,why?????
  this.name = name;
  this.age = age;
  this.flag = true;
  this.notify();
}
public synchronized void get() {
  if (!this.flag) {
   try {
    this.wait();
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
  }
//此处可以加else.why???????
else {
   System.out.println(name + age);
   this.flag = false;
   this.notify();
  }
}
}
第一个地方加else就不能实现 读一个数据,写一个数据. 第二个else加与不加不影响结果.why?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马