问题描述
假设分别有4位厨师和6位食客。
厨师做一盘菜的时间是4S,食客吃一盘菜的时间是3S。
每位厨师做好菜后放入有固定容量(10盘)的桌子上。
如果厨师做好菜发现桌子上已经有10盘菜了,就必须等待任意一个食客吃掉一盘后才能放入;
如果食客取菜时发现桌子上没有菜,也必须等待有任一厨师做好菜放入桌子才能取用。
代码:
Test类:
public class Test{
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
Table t=new Table(10);
new Cook(t).start();
new Cook(t).start();
new Cook(t).start();
new Cook(t).start();
new Diners(t).start();
new Diners(t).start();
new Diners(t).start();
new Diners(t).start();
new Diners(t).start();
new Diners(t).start();
}
}
Table类:
import java.util.LinkedList;
@SuppressWarnings("serial")
class Table extends LinkedList<Object> {
int maxSize; // 容器的最大容量
public Table(int maxSize) {
thi