Exemple #1
0
 public void Opera(TradeOrder tradeOrder)
 {
     lock (tradeOrder)
     {
         //Console.WriteLine("Doing " + tradeOrder.Id);
         switch (tradeOrder.Status)
         {
             case Status.WaittingTrade:
                 Interlocked.Increment(ref _totalStart);
                 Console.WriteLine(DateTime.Now.ToString("HH:mm:ss") + " Start " + tradeOrder.Id + " ThreadId: " + Thread.CurrentThread.ManagedThreadId);
                 tradeOrder.Start();
                 break;
             case Status.Pending:
                 Interlocked.Increment(ref _totalCheck); ;
                 Console.WriteLine(DateTime.Now.ToString("HH:mm:ss") + " Check " + tradeOrder.Id + " ThreadId: " + Thread.CurrentThread.ManagedThreadId);
                 tradeOrder.Check();
                 break;
             case Status.Completed:
                 break;
             default:
                 break;
         }
     }
 }