黑马程序员技术交流社区
标题:
关于线程间通讯问题
[打印本页]
作者:
天涯无痕
时间:
2014-8-13 19:39
标题:
关于线程间通讯问题
class res
{
String name;
String sex;
boolean flag=false;
}
class input implements Runnable
{
private res r;
input(res r)
{
this.r=r;
}
public void run()
{
int x=0;
while(true)
{
if (r.flag)
try
{
r.wait();
}
catch(Exception e)
{
}
synchronized(r)
{
if (x==0)
{
r.name="lilei";
r.sex="man";
}
else
{
r.name="韩梅梅";
r.sex="女女女";
}
x=(x+1)%2;
r.flag=true;
r.notify();
}
}
}
}
class output implements Runnable
{
private res r;
output(res r)
{
this.r=r;
}
public void run()
{
while(true)
{
if(!r.flag)
try
{
r.wait();
}
catch(Exception e)
{
}
synchronized(r)
{
System.out.println(r.name+"----"+r.sex);
r.flag=false;
r.notify();
}
}
}
}
class Inputoutput
{
public static void main(String[] args)
{
res r=new res();
input in =new input(r);
output out =new output(r);
Thread a=new Thread(in);
Thread b=new Thread(out);
a.start();
b.start();
}
}
复制代码
为什么我的和毕老师的执行结果不一样啊 什么原因造成的?
作者:
天涯无痕
时间:
2014-8-13 19:50
同志们 帮忙解决一下啊
作者:
小糊涂神
时间:
2014-8-13 20:49
没看出哪有问题,水平达不到啊,放在MyEclipse上让软件给你找找
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2