你够细心吗?进来试试看。

huyanqieyu 2008-03-26 09:10:38
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();
}
}
}


你们说这个程序会输出什么?请先不要运行,先自己想想会产生什么结果,然后再去运行看看对不对??
...全文
67 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiekun2008 2008-03-26
  • 打赏
  • 举报
回复
应该死到MyThread 上了
男女男女来回运行!

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧