黑马程序员技术交流社区
标题:
下面这段代码的错误到底在哪里?很长时间都没有发现
[打印本页]
作者:
冷月霜飞
时间:
2015-5-15 06:55
标题:
下面这段代码的错误到底在哪里?很长时间都没有发现
class Resourse{
private String name;//定义资源的属性,名字
private int count=1;//定义资源属性,编号为
public synchronized void set(String name){
this.name=name+count;
count++;
System.out.println(Thread.currentThread.setName().getName+"....生产者...."+this.name);
}
public synchronized void out(String name){
System.out.println(Thread.currentThread.setName().getName+"..消费者.."+this.name);
}
}
//描述生产者
class Producer implements Runnable{
private Resourse r;
Producer(Resourse r){
this.r=r;
}
public void run(Resourse r){
while(true){
r.set("面包");
}
}
}
//描述消费者
class Consumer implements Runnable{
private Resourse r;
Consumer(Resourse r){
this.r=r;
}
public void run(Resourse r){
while(true){
r.out("面包");
}
}
}
public class ThreadDemo {
public static void main(String[] args){
Resourse r=new Resourse();//创建资源对象
Producer pro=new Producer(r);//创建线程任务
Consumer con=new Consumer(r);
Thread t1=new Thread(pro);
Thread t2=new Thread(con);
t1.start();
t2.start();
}
}
复制代码
作者:
zl074081027_hm
时间:
2015-5-15 09:42
本帖最后由 zl074081027_hm 于 2015-5-15 09:45 编辑
楼主,你这在eclipse里编译期间不报错???
编译问题:一,接口方法重写,要同名同参数,run方法不得添加其他参数;二,Thread.currentThread后面要加括号;三,setName(String s)。
作者:
冷月霜飞
时间:
2015-5-15 10:57
就因为报错没有找到原因才发的,谢谢解答!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2