//------------PriceModel------------ //-------------receiveOrder--------- public void receiveOrder() { MultiCellBuffer midcells = new MultiCellBuffer(); string ordstring; Coder cod = new Coder(); for (int i = 0; i < 80; i++) { Thread.Sleep(50); ordstring=midcells.getOneCell(); if (ordstring != null) { Thread OrderProcessingThread = new Thread(new ParameterizedThreadStart(OrderProcessing)); //create new thread for each order OrderProcessing(ordstring); } } }
public void sendOrder(Order ord) { Coder cod = new Coder(); MultiCellBuffer midcells = new MultiCellBuffer(); Thread setorder = new Thread(new ParameterizedThreadStart(midcells.setOneCell)); Console.WriteLine("Store{0} has sent one order", id); setorder.Start(cod.Encoder(ord)); //each order create a new thread }
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(); }