예제 #1
0
파일: ToDoQueue.cs 프로젝트: weffer/C-
 public void MonitorAndLogTrades()
 {
     while (true)
     {
         try
         {
             Trade nextTransaction = _queue.Take();
             _staffLogs.ProcessTrade(nextTransaction);
             Console.WriteLine("Processing transaction from " + nextTransaction.Person.Name);
         }
         catch (InvalidOperationException ex)
         {
             Console.WriteLine(ex.Message);
             return;
         }
     }
 }
예제 #2
0
파일: ToDoQueue.cs 프로젝트: weffer/C-
 public void MonitorAndLogTrades()
 {
     while (true)
     {
         Trade nextTrade;
         bool  done = _queue.TryDequeue(out nextTrade);
         if (done)
         {
             _staffLogs.ProcessTrade(nextTrade);
             Console.WriteLine("Processing transaction from " + nextTrade.Person.Name);
         }
         else if (_workingDayComplete)
         {
             Console.WriteLine("No more sales to log - exiting");
             return;
         }
         else
         {
             Console.WriteLine("No transactions available");
             Thread.Sleep(500);
         }
     }
 }