黑马程序员技术交流社区
标题:
大家帮我看下这个程序怎么运行没反应~
[打印本页]
作者:
乐此不疲
时间:
2014-7-28 20:46
标题:
大家帮我看下这个程序怎么运行没反应~
public class ProducerConsumerTest {
public static void main(String[] args) {
Resource res = new Resource();
Producer p = new Producer(res);
Consumer c = new Consumer(res);
Thread t1 = new Thread(p);
Thread t2 = new Thread(c);
Thread t3 = new Thread(p);
Thread t4 = new Thread(c);
t1.start();
t2.start();
t3.start();
t4.start();
}
}
class Resource{
private String name;
private int count = 1;
private boolean flag = false;
public synchronized void set(String name){
while(flag){
try{this.wait();}catch(Exception e){}
this.name = name+"..."+count++;
System.out.println(Thread.currentThread().getName()+"---生产者---"+this.name);
flag = true;
this.notifyAll();
}
}
public synchronized void out(){
while(!flag){
try{this.wait();}catch(Exception e){}
System.out.println(Thread.currentThread().getName()+"-----消费者-----"+this.name);
flag = false;
this.notifyAll();
}
}
}
class Producer implements Runnable{
private Resource res;
Producer(Resource res){
this.res = res;
}
public void run() {
while(true){
res.set("zhangsan");
}
}
}
class Consumer implements Runnable{
private Resource res;
Consumer(Resource res){
this.res = res;
}
public void run() {
while(true){
res.out();
}
}
}
复制代码
看毕姥爷多线程视频写的生产者消费者,运行没反应,麻烦大家来瞅瞅
作者:
0小菜鸟0
时间:
2014-7-28 21:03
沙发 我还没看到哪里了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2