// class implementing a producer-consumer system

class ProducerConsumer {

  public static void main(String args[]) {
    Producer producers[];    // array of producers;
    Consumer consumers[];    // array of consumers;
    Buffer buf;              // buffer
    int i;                   // counter for loops

    try {
      producers = new Producer[(new Integer(args[0])).intValue()];
      consumers = new Consumer[(new Integer(args[1])).intValue()];
      buf = new Buffer((new Integer(args[2])).intValue());

      for(i = 0; i < producers.length; i++) {
	producers[i] = new Producer("p-"+i, buf);
	producers[i].start();
      }
      for(i = 0; i < consumers.length; i++) {
	consumers[i] = new Consumer("c-"+i, buf);
	consumers[i].start();
      }

    } catch(Exception x) {
      System.out.print("usage: java ProducerConsumer ");
      System.out.println("<producers> <consumers> <buffer size>");
    }
  }
}
      
