public class Product {
private int productId = 0;
public Product(int productId) {
this.productId = productId;
}
public int getProductId() {
return productId;
}
public String toString() {
return Integer.toString(productId);
}
}
public class StoreHouse {
int base = 0;
int top = 0;
Product[] products = new Product[10];
public synchronized void push(Product product) {
while (top == products.length) {
notify();
try {
System.out.println("仓库已满,正等待消费...");
wait();
} catch (InterruptedException e) {
}
}
products[top] = product;
top++;
}
public synchronized Product pop() {
Product pro = null;
while (top == base) {
notify();
try {
System.out.println("仓库已空,正等待生产...");
wait();
} catch (InterruptedException e) {
}
}
top--;
pro = products[top];
return pro;
}
}
本文介绍了一个简单的同步仓库管理机制实现,该机制使用了生产者-消费者模型,并通过Java代码进行了具体说明。该同步仓库包括两个主要操作:push用于将产品加入仓库,而pop则用于从仓库中取出产品。为确保线程安全,这些操作被设置为同步方法。
4976

被折叠的 条评论
为什么被折叠?



