public void retailerFunc(object idd){ //for starting thread
            this.id = Convert.ToInt32(idd);

            ChickenFarm chicken = new ChickenFarm();
            for(Int32 i=0;i<10;i++){
                Thread.Sleep(1000);
                Int32 p =chicken.getPrice();
                Console.WriteLine("Store{0} has everyday low price: ${1} each", id, p);
            }
        }
        public void retailerFunc(object idd)  //for starting thread
        {
            this.id = Convert.ToInt32(idd);

            ChickenFarm chicken = new ChickenFarm();

            for (Int32 i = 0; i < 10; i++)
            {
                Thread.Sleep(1000);
                Int32 p = chicken.getPrice();
                Console.WriteLine("Store{0} has everyday low price: ${1} each", id, p);
            }
        }
        public static Boolean confirmed = false;  //avoid multi confirm
        static void Main(string[] args)
        {
            MultiCellBuffer midcells = new MultiCellBuffer();

            midcells.initCells(); //init buffer cells
            ChickenFarm chicken   = new ChickenFarm();
            Thread      farmer    = new Thread(new ThreadStart(chicken.farmerFunc));
            Thread      receivOrd = new Thread(new ThreadStart(chicken.receiveOrder));

            farmer.Start();    //start one farmer thread
            receivOrd.Start(); //start check order thread
            Retailer[] retailers = new Retailer[5];
            for (int i = 0; i < 5; i++)
            {               //N=5 here
                retailers[i] = new Retailer();
                Thread retail = new Thread(new ParameterizedThreadStart(retailers[i].retailerFunc));
                ChickenFarm.priceCut += new priceCutEvent(retailers[i].chickenOnSale);       //cut event
                ChickenFarm.confrim  += new ConfrimationEvent(retailers[i].Confirmation);    // confirm event
                retail.Start(i);
            }

            Console.ReadLine();
        }
        public static Boolean confirmed = false;  //avoid multi confirm
        static void Main(string[] args)
        {
         MultiCellBuffer midcells = new MultiCellBuffer();
         midcells.initCells();  //init buffer cells
            ChickenFarm chicken= new ChickenFarm();
            Thread farmer =new Thread(new ThreadStart(chicken.farmerFunc));  
            Thread receivOrd = new Thread(new ThreadStart(chicken.receiveOrder));
            farmer.Start();  //start one farmer thread
            receivOrd.Start();//start check order thread
            Retailer[] retailers =new Retailer[5];
                for (int i = 0; i < 5; i++)
                {           //N=5 here
                    retailers[i] = new Retailer();
                    Thread retail = new Thread(new ParameterizedThreadStart(retailers[i].retailerFunc));
                    ChickenFarm.priceCut += new priceCutEvent(retailers[i].chickenOnSale);   //cut event
                    ChickenFarm.confrim += new ConfrimationEvent(retailers[i].Confirmation);  // confirm event
                    retail.Start(i);
                }

                Console.ReadLine();
        }