各位java大神,帮忙解决一下这道题,老师马上就检查了,,,拜托帮帮忙!!!!!

编写生产者/消费者模式的程序。生产者每隔100ms产生一个0~9之间的一个数,保存在一个MyNumber类型的对象中,并显示出来。只要这个MyNumber对象中保存了新的... 编写生产者/消费者模式的程序。生产者每隔100ms产生一个0~9之间的一个数,保存在一个MyNumber类型的对象中,并显示出来。只要这个MyNumber对象中保存了新的数字,消费者就将其取出来显示。试定义MyNumber类,编写消费者、生产者程序,并编写主程序创建一个MyNumber对象,一个生产者线程、一个消费者线程并将这两个线程启动。 展开
 我来答
璀璨圣剑圣龙神bj
2015-11-10 · TA获得超过146个赞
知道答主
回答量:113
采纳率:0%
帮助的人:79.6万
展开全部
MyNumber

import java.util.concurrent.LinkedBlockingQueue;

public class MyNumber {
public static LinkedBlockingQueue<Integer> queen=new LinkedBlockingQueue<Integer>();
}


Customer
public class Customer extends Thread {

@Override
public void run() {
while(true){
try {
int num=MyNumber.queen.take();
System.out.println("消费者:  "+num);
} catch (InterruptedException e) {
e.printStackTrace();
}
}

}
}


Producer
import java.util.Random;

public class Producer extends Thread {

@Override
public void run() {
while(true){
try {
int num=getNum();
MyNumber.queen.put(num);
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

private static int getNum(){
Random ra =new Random();
int a=ra.nextInt(9);
return a;
}
}


Test

public class Test {

public static void main(String[] args) {
Customer c=new Customer();
Producer p=new Producer();
c.start();
p.start();
}

}

 



纯手写,希望时间来的及,楼主采纳一下吧

追问
谢谢谢谢,我试一下
百度网友1c59bab
2015-11-10
知道答主
回答量:7
采纳率:0%
帮助的人:2.8万
展开全部
没事儿,刚检查到嘉嘉
更多追问追答
追问
天了噜,你是何方神圣
追答
我会第十题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式