黑马程序员技术交流社区
标题:
多线程中线程通信的代码优化版,
[打印本页]
作者:
dubei1993
时间:
2016-6-18 14:09
标题:
多线程中线程通信的代码优化版,
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?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2