20

java多线程问题,请教大神,多谢

class Res
{
String name;
String sex;
}
class Input implements Runnable
{
private Res r;//这句是什么意思?跟Res r = new Res();有什么区别?
Input(Res r)
{
this.r=r;
}
public void run()
{
int x = 0;
while(true)
{
if(x==0)
{
r.name="mike";
r.sex="man";
}
else
{
r.name="丽丽";
r.sex="女女";
}
x=(x+1)%2;
}
}
}
class Output implements Runnable
{
private Res r;
Output(Res r)
{
this.r=r;
}
public void run()
{
while(true)
{
System.out.println(r.name+"-------"+r.sex);
}
}
}
class InputOutputDemo
{
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();
}
}
执行结果是什么?为什么是那样?
线程t2输出的为什么是t1处理后的r?

查看全部
ChenZhK
ChenZhK
2016/05/14 04:54
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

3个回复