p3=person.newperson("jane", 13, 'f');
System.out.println(p1);
System.out.println(p2);
System.out.println(p3);
}
}
1. 设计一个数据单元类DataUnit, 它包含学号(Number)和姓名(Name)两个数据成员。
2. 设计两个线程,一个线程往数据单元里写信息,一个线程从数据单元里读信息。要求使用线程同步技术,使得每写一次就往外读一次。例如,写和读的数据序列为:
Write: 1, Name1
Read: 1, Name1
Write: 2, Name2
Read: 2, Name2
...
package test7;
class DataUnit{
int number;
String name;
int max;
boolean flag=false;
public DataUnit(int number, String name,int max){
http://www.doczj.com/doc/b152b76427284b73f2425090.html=name;
this.max=max;
}
public synchronized void in(){
if(flag){
try{
wait();
}
catch(Exception e){
}
}
System.out.println("Write number:"+(++number)+" write name:"+(number));
flag=true;
notify();
}
public synchronized void out(){
if(!flag){
try{
wait();
}