Num 类中的set方法和out方法中的判断有问题,if判断后面不要大括号
- public synchronized void set(String name , String age)
- {
- if(flag)
-
- try{this.wait();}catch(Exception e){}
- this.name = name;
- this.age = age;
- flag = true;
- this.notify();
-
-
- }
- public synchronized void out()
- {
- if(!flag)
- try{this.wait();}catch(Exception e){}
- System.out.println(name+"name"+",,,,,,"+age+"age");
- flag = false;
- this.notify();
-
- }
复制代码
set:当flag 为true时,线程等待。为false时,修改属性值(name,age,flag),唤醒其他等待线程
out:当flag 为true时,打印属性值(name,age),修改flag为false,唤醒其他等待线程。当为false时,线程等待 |