黑马程序员技术交流社区
标题:
生产者消费者
[打印本页]
作者:
李大伟
时间:
2013-4-19 09:33
标题:
生产者消费者
本帖最后由 李大伟 于 2013-4-19 22:42 编辑
生产者消费者中 、
Consumer2 中,private Resource2 res; Consumer2(Resource2 res){
this.res = res;
} 这两句什么意思,麻烦给解释解释? 是为了使用资源么?
class Consumer2 implements Runnable{
private Resource2 res;
Consumer2(Resource2 res){
this.res = res;
}
public void run(){
while(true){
try{
res.out();
}
catch(Exception e){
}
}
}
}
复制代码
作者:
黑马伍哲沂
时间:
2013-4-19 09:42
嗯,是为了使用资源,并且是为了保证不同线程所使用的资源是同一个资源。
这样新建一个对象,分别通过构造函数把同一个对象传进来就可以。
所以,两个实现Runnable的类里面都是这样写的。
也可以使用的单例设计模式,但会稍微麻烦一点。
总之,就是要想办法保证操作的是同一资源,如果不是同一资源,就不存在等待唤醒的问题了。
作者:
庄生晓梦
时间:
2013-4-19 17:33
是为了保证不同线程使用同一个资源。
生产者生产的资源,正是消费者消费的资源;
将资源进行描述,创建资源对象,通过构造函数传入。
不同线程要操作同一资源。
作者:
lipingan0520
时间:
2013-4-19 17:47
本帖最后由 lipingan0520 于 2013-4-19 17:49 编辑
private Resource2 res
复制代码
说的是定义一个Resource2 类类型的变量 res
Consumer2(Resource2 res){
this.res = res;//这是Consumer2类中的一个构造方法,目的是在创建Consumer2类对象时传入参数,进行初始化。
复制代码
作者:
伊廷文
时间:
2013-4-19 19:05
是为了使用资源,通过构造函数将共享资源对象传进来
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2