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();
        }
*/       
    }
}