package songyan;
class Res {
private String name;
private String sex;
private boolean flag;
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
public void setSex(String sex)
{
this.sex=sex;
}
public String getSex()
{
return sex;
}
public void setFlag(boolean flag)
{
this.flag=flag;
}
public boolean getFlag()
{
return flag;
}
}
class Input implements Runnable {
private Res r;
Input(Res r)
{
this.r=r;
}
public void run()
{
int x=0;
while(true)
{
synchronized (r) {
if(r.getFlag())
try{r.wait();}catch(Exception e){}
if(x==0)
{
r.setName("zhangsan");
r.setSex("nv");
}
else
{
r.setName("往年");
r.setSex("女");
}
x=(x+1)%2;
r.setFlag(true);
r.notify();
}
}
}
}
class Output implements Runnable
{
private Res r;
Output(Res r)
{
this.r=r;
}
public void run()
{
while(true)
{
synchronized (r) {
if(!r.getFlag())
try{r.wait();}catch(Exception e){}
System.out.println(r.getName()+"*****"+r.getSex());
r.setFlag(false);;
r.notify();
}
}
}
}
public class test{
public static void main(String[] args) {
Res r= new Res();
Input in = new Input(r);
Output out = new Output(r);
Thread t1= new Thread(in);
Thread t2= new Thread(out);
t1.start();
t2.start();
}
}