vetor是个容器,能把不同的对象放在里面,可象数组一样操作。
synchronized 关键字锁定对象。对象是在 synchronized 代码内部被锁定的,要调用里面的对象,就必须一个一个排着队进行。
synchronized 关键字锁定对象。对象是在 synchronized 代码内部被锁定的,要调用里面的对象,就必须一个一个排着队进行。
解决方案 »
- 请教一道java面试题
- 我是新手,在eclipse中运行下面程序总是提示Multiple markers at this line的错误 求原因
- 通过XSD自动生成JAVA类或者JAR,然后用这个生成 XML 文件
- 关于父类和子类
- javamail 问题,高手过来帮忙啊。。。。。。。
- 一个简单的基础问题?
- 初学者关于java控件布局的一点疑问
- 从数据库中读大量数据,组成一个文本文件的最佳做法是怎样的?
- 哪有比较好的HttpClient包,不想用HttpUrlConnection
- 统计一下,有多少湖南的兄弟姐妹。大家别扔。。。。我只是关心家乡。。
- 150分求解:菜单被其它控件遮盖的问题
- 如何取得int的各bit值
vector是一个可变长的数组。synchronized是一个同步机制。
{
private int pizzaNum; public Pizza(int num)
{
this.pizzaNum = num;
} public synchronized void produce()
{
while (pizzaNum >= 10)
{
try
{
wait();
}
catch (Exception e) {}
}
pizzaNum++;
System.out.println("Produce a new pizza, current pizza num: "+pizzaNum);
notifyAll();
try
{
Thread.sleep(1000);
}
catch(Exception e){}
}
public synchronized void consume()
{
while (pizzaNum <= 0)
{
try
{
wait();
}
catch (Exception e) {}
}
pizzaNum--;
notifyAll();
System.out.println("Consume a pizza, current pizza num: "+pizzaNum);
try
{
Thread.sleep(1000);
}
catch(Exception e){}
}
};class Cooker extends Thread
{
Pizza p;
public Cooker(Pizza p)
{
this.p = p;
this.setPriority(10);
this.start();
}
public void run()
{
while (true)
{
p.produce();
}
}
};
class Consumer extends Thread
{
Pizza p;
public Consumer(Pizza p)
{
this.p = p;
this.start();
}
public void run()
{
while (true)
{
p.consume();
}
}
};class DemoPizzaStore
{
public static void main(String[] args)
{
Pizza p = new Pizza(0);
Cooker p1 = new Cooker(p);
Cooker p2 = new Cooker(p);
Consumer c1 = new Consumer(p);
Consumer c2 = new Consumer(p);
Consumer c3 = new Consumer(p);
}
}
下边是vector的用法:
package store.util;import java.util.*;public class ShoppingCart
{
private Vector cart; public ShoppingCart()
{
cart = new Vector(2,2);
} public Item getItem(int i)
{
return (Item)cart.get(i);
} public void addItem(Item item)
{
cart.add(item);
} public int getSize()
{
return cart.size();
}
}
我的qq是7143324
邮箱:[email protected]
谢谢了。:)