黑马程序员技术交流社区
标题:
多线程的通信问题
[打印本页]
作者:
枫儿
时间:
2013-10-10 15:17
标题:
多线程的通信问题
本帖最后由 枫儿 于 2013-10-10 15:38 编辑
为什么都提示找不到函数?是代码哪的问题?
6554564.JPG
(68.57 KB, 下载次数: 21)
下载附件
2013-10-10 15:15 上传
class rec
{
String name;
String age;
}
class Input implements Runnable
{
private rec r;
Input(rec r)
{
this.r=r;
}
public void run()
{
int x=0;
while (true)
{
synchronized(r)
{
if(x==0)
{
r.name="make";
r.age="Man";
}
else
{
r.name="扣扣";
r.age="女女女";
}
x=(x+1)%2;
}
}
}
}
class out implements Runnable
{
private rec r;
out(rec r)
{
this.r=r;
}
public void run()
{
while (true)
{
synchronized(r)
{
System.out.println(r.name+"...."+r.age);
}
}
}
}
class dxctx
{
public static void main(String[] args)
{
rec r=new rec();
Input in=new Input();
out o=new out();
Thread t1=new Thread(r);
Thread t2=new Thread(r);
t1.start();
t2.start();
}
}
复制代码
作者:
喝龙血的我
时间:
2013-10-10 15:24
Input in=new Input();
复制代码
改成Input(r);
Input(rec r)
{
this.r=r;
}
复制代码
因为你的构造函数需要一个参数,out的也一样
作者:
飘落
时间:
2013-10-10 15:25
main方法内的代码参数传错了。改后如下:
class dxctx {
public static void main(String[] args) {
rec r = new rec();
Input in = new Input(r);
out o = new out(r);
Thread t1 = new Thread(in);
Thread t2 = new Thread(o);
t1.start();
t2.start();
}
}
复制代码
作者:
To
时间:
2013-10-10 15:28
楼主你好,如果问题已解决请及时将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2