小小回顧
產品的entity
Java代碼
public class Product {
//產品名稱
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this
}
}
生產者
Java代碼
/**
* 生產者
* @author 飯香
*
*/
public class Producer implements Runnable{
private Shop shop;//要去送貨的商店
public Producer(Shop shop){
this
}
public void run() {
for(int i=
shop
}
}
}
消費者
Java代碼
/**
* 消費者
* @author 飯香
*
*/
public class Cousumer implements Runnable{
private Shop shop;//要去消費的商店
public Cousumer(Shop shop){
this
}
public void run() {
for(int i=
usu();
}
}
}
模擬商店(一切圍繞商店
Java代碼
import java
import java
/**
* 模擬商店 (進貨/銷售)
* @author fx
*
*/
public class Shop {
private static int i=
//產品的容器;達到容器暫停生產
private static List<Product> list;
static{
list= new ArrayList<Product>();
}
/**
* 生產產品
*/
public synchronized void produ(){
if(list
try {
System
this
} catch (InterruptedException e) {
System
e=null;
}
} //生產商品
Product product= new Product();
product
list
System
System
i++;
super
}
/**
* 消費產品
* @return
*/
public synchronized void cousu(){
if(list
System
try {
this
} catch (InterruptedException e) {
// TODO Auto
System
e=null;
}
}
Product product=list
list
System
System
super
}
}
測試代碼
Java代碼
public static void main(String[] args) {
Shop shop=new Shop();//商店
Producer pro=new Producer(shop);
Cousumer cou = new Cousumer(shop);
new Thread(pro
new Thread(cou
}
生產了商品
容器容量
消費了獲得了商品
容器容量
+++++++++++++++++++++++商品消費完了
生產了商品
容器容量
消費了獲得了商品
容器容量
+++++++++++++++++++++++商品消費完了
生產了商品
容器容量
消費了獲得了商品
容器容量
+++++++++++++++++++++++商品消費完了
生產了商品
容器容量
生產了商品
容器容量
消費了獲得了商品
容器容量
生產了商品
容器容量
消費了獲得了商品
容器容量
生產了商品
容器容量
消費了獲得了商品
容器容量
消費了獲得了商品
容器容量
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27600.html