using System; using System.Collections.Generic; using System.Runtime.Remoting.Messaging; using System.Threading; namespace ConsoleApplication1 { public static class Program { public static void Main(string[] args) { //Parse received program arguments to ints int nrProd = int.Parse(args[0]); int nrCons = int.Parse(args[1]); Buffer b = new Buffer(); //Create n new producers where n = received argument for(int i = 0; i < nrProd; i++) { //create new Producer object Producer p = new Producer(b); //create new Thread and start it Thread newThread = new Thread(p.produce); newThread.Start(); } //Create n new consumers where n = received argument for (int i = 0; i < nrCons; i++) { //create new Consumer object Consumer c = new Consumer(b); //create new Thread and start it Thread newThread = new Thread(c.Consume); newThread.Start(); } } /* static void setAsleep() { Thread.Sleep(8000); Consumer.wakeUp(); } */ } }