コード例 #1
0
 /*
  * Parameterized Constructor
  */
 public Retailer(int id, MultiCellBuffer buffer, CreditCardHelper cch)
 {
     this.retailerID = id;
     this.buffer = buffer;
     this.cardNumber = cch.getCardNo(retailerID);
 }
コード例 #2
0
        static void Main(string[] args)
        {
            int noOfBufferCells = 3; // Buffer Capacity- Number of cells in Multicellbuffer
            int N = 5; //Number of Reatilers

            ChickenFarm chickenFarm = new ChickenFarm();
            Thread chickenFarm_thread = new Thread(new ThreadStart(chickenFarm.farmerFunc));

            CreditCardHelper creditCardHelper = new CreditCardHelper(N);
            MultiCellBuffer buffer = new MultiCellBuffer(noOfBufferCells);

            buffer.bufferSemaphore.Release(noOfBufferCells);
            OrderProcessing orderProcessing = new OrderProcessing(buffer, creditCardHelper);

            chickenFarm_thread.Name = "ChickenFarm";
            chickenFarm_thread.Start();
            Retailer retailer = null;
            for (int i = 0; i < N; i++)
            {
                retailer = new Retailer(i, buffer, creditCardHelper);
                chickenFarm.priceCut += new priceCutEvent(retailer.chickensOnSale);
            }
            buffer.newOrder += new newOrderEvent(orderProcessing.orderProcessing);
            orderProcessing.orderCompleted += new orderCompletedEvent(retailer.confirmationFunc);
            Console.ReadKey();
        }
コード例 #3
0
 /*
  * Constructor
  */
 public OrderProcessing(MultiCellBuffer buffer, CreditCardHelper cch)
 {
     this.creditCardHelper = cch;
     this.buffer = buffer;
 }