- 论坛徽章:
- 0
|
1.作业分Producwer,Consumer,Space,Apple,Test5个类编写。
2.Space为中转存储空间,Apple为标记生产物品。
3.所有类都存放于sycnchronized包内。
***********************************************************
package sycnchronized;
//产品标识
public class Apple {
int id;
public Apple(int id){
this.id=id;
}
// public String toString(){
// return ""+id;
// }
}
…………………………………………………………
package sycnchronized;
//产品的存储空间
public class Space {
Apple ap[]=new Apple[10];
int index=0;
//产品存入
public synchronized void push(Apple AP) {
while(index==ap.length){
try {
this.wait();
} catch (InterruptedException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
ap[index]=AP;
index++;
this.notify();
}
// 产品的取出
public synchronized Apple pop(){
while (index==0){
try {
this.wait();
} catch (InterruptedException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
index--;
this.notify();
return ap[index];
}
}
……………………………………………………………………
package sycnchronized;
//摘苹果
public class Producer implements Runnable{
Space sp=new Space();
Producer (Space sp){
this.sp=sp;
}
public void run() {
for(int i=0;i
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/55983/showart_2001594.html |
|