publicvoidhput(intvalue){
jishu++;
jt.append(jishu+"生产者正在生产资源……\n");
u=value;
}
}
//生产者类
classProducerextendsThread{
privateShareshared;
publicStringjieguo[]=newString[11];
publicJTextAreajt=newJTextArea("==========生产者进程==========\n\n");
publicProducer(Shares){
shared=s;
}
publicvoidrun(){
for(inti=1;i<11;i++){
shared.put(i);
jieguo[i]=i+"生产者第"+i+"次生产"+"生产者的生产数据:"+i+"\n";
jt.append(jieguo[i]);
try{
//sleep((int)(Math.random()*100));
sleep(1000);
}catch(InterruptedExceptione){}
}
}
}
classhProducerextendsThread{
privateShareshared;
publicStringjieguo[]=newString[11];
publicJTextAreajt=newJTextArea("==========生产者线程==========\n\n");
publichProducer(Shares){
shared=s;
}
publicvoidrun(){
for(inti=1;i<11;i++){
shared.hput(i);
jieguo[i]=i+"生产者第"+i+"次生产"+"生产者的生产数据:"+i+"\n";
jt.append(jieguo[i]);
try{
//sleep((int)(Math.random()*100));
sleep(1000);
}catch(InterruptedExceptione){}
}
}
}
//消费者类
classConsumerextendsThread{
privateShareshared;
publicStringjieguo[]=newString[11];
publicJTextAreajt=newJTextArea("==========消费者线程==========\n\n");
publicConsumer(Shares){
shared=s;
}
publicvoidrun(){
intvalue=0;
for(inti=1;i<11;i++){
value=shared.get();
jieguo[i]=i+"消费者第"+i+"次消费"+"消费者获得的生产数据:"+value+"\n";
jt.append(jieguo[i]);
try{