vetor是个容器,能把不同的对象放在里面,可象数组一样操作。
synchronized 关键字锁定对象。对象是在 synchronized 代码内部被锁定的,要调用里面的对象,就必须一个一个排着队进行。

解决方案 »

  1.   

    现在的java书泛滥其实好的没有。全是天下文章一大抄。呵呵
    vector是一个可变长的数组。synchronized是一个同步机制。
      

  2.   

    class Pizza
    {
    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);
    }
    }
      

  3.   

    <<thinking in java>>,jdk文档,自选一本。
      

  4.   

    上边我发的关于synchronized的程序是同步的典型程序,操作系统里也讲过。
    下边是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();
    }
    }
      

  5.   

    非常感谢大家,特别是lahu0578,马上送分
      

  6.   

    哦。差点忘了,lahu0578你有关于这个问题的具体文档么,或者推荐给小弟几本好书。我想好好研究一下它们的用法。我还只是个初学者。
      

  7.   

    我把贴结了,希望你看到后加我为好友。
    我的qq是7143324
    邮箱:[email protected]
    谢谢了。:)