import java.io.*;public class Att
{
/**
 * @param args
 */
public static void main(String[] args)
{
p g=new p();
MyThread a=new MyThread(g);
MyThread2 b=new MyThread2(g);
new Thread(a).start();
new Thread(b).start();



}
}class p
{
boolean full=true;
private String name="李四";
private String sex="女";
synchronized void set(String name,String sex)
{
if(this.full==true)
                {
this.name=name;
this.sex=sex;
full=false;
                }

}
synchronized void get()
{
if(this.full==false)
{
System.out.println(this.name+"------"+this.sex);
full=true;
                }

}
}
class MyThread implements Runnable
{
private p g;
MyThread(p g)
{
this.g=g;
}

public void run()
{
int i=0;
while(true)
{


   if(i==0)
   {
     g.set("张三"," 男");    

   }
   else
   {
  g.set("李四", "女");
 
   }
   i=(i+1)%2;
}
}
 
}class MyThread2 implements Runnable
{
private p g;
MyThread2(p g)
{
this.g=g;
}

public void run()
{
while(true)
{
g.get();
}
}
}
你们说这个程序会输出什么?请先不要运行,先自己想想会产生什么结果,然后再去运行看看对不对??