黑马程序员技术交流社区
标题:
线程问题
[打印本页]
作者:
柴永菲
时间:
2011-11-6 20:36
标题:
线程问题
class Res{
String name;
String sex;
}
class Input implements Runnable
{
private Res r;
Input( Res r){
this.r=r;
}
public void run(){
}
}
class Output implements Runnable
{
private Res r;
Output( Res r){
this.r=r;
}
public void run(){
}
}
为什么这样写就可以使Input类和Output类中的r是同一个资源呢?而用Res r=new Res()在两个类中创建对象r却用的是两个对象呢?我没听懂毕老师讲的希望谁可以帮我一下谢谢
作者:
高美云
时间:
2011-11-6 20:45
Res r=new Res();是新的new出来的一个资源,如果各自在Input和Output中各自new一个,当然不是同一个资源了,而单独写一个资源类,就是为了让生产和消费的是同一个资源。
作者:
祁焱
时间:
2011-11-6 20:46
因为r这个对象是在主方法中创建的,通过Input和Output的构造函数传送到相应的类中,也就是:
Res r=new Res();
Input r1=new Input(r);
Output r2=new Output(r);
所以两个类中用的同一个r资源。
作者:
柴永菲
时间:
2011-11-6 21:16
哦谢谢大家呵呵辛苦了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2