Exemplo n.º 1
0
 private static void ManualSimulator(StockTicker stockTicker)
 {
     //////////////////////////////////////////////////////
     // A small program to let you enter the Ticks info. //
     // Symbol X will exit the program                   //
     //////////////////////////////////////////////////////
     while (true)
     {
         Console.Write("enter symbol (or x to exit): ");
         var symbol = Console.ReadLine();
         if (symbol.ToLower() == "x")
         {
             break;
         }
         Console.WriteLine("enter price: ");
         decimal price;
         if (decimal.TryParse(Console.ReadLine(), out price))
         {
             stockTicker.Notify(new StockTick()
             {
                 Price = price, QuoteSymbol = symbol
             });
         }
         else
         {
             Console.WriteLine("price should be decimal");
         }
     }
 }
Exemplo n.º 2
0
 private static void TestConcurrentTicks(StockTicker stockTicker)
 {
     ThreadPool.QueueUserWorkItem((_) => stockTicker.Notify(new StockTick()
     {
         Price = 100, QuoteSymbol = "MSFT"
     }));
     ThreadPool.QueueUserWorkItem((_) => stockTicker.Notify(new StockTick()
     {
         Price = 150, QuoteSymbol = "INTC"
     }));
     ThreadPool.QueueUserWorkItem((_) => stockTicker.Notify(new StockTick()
     {
         Price = 170, QuoteSymbol = "MSFT"
     }));
     ThreadPool.QueueUserWorkItem((_) => stockTicker.Notify(new StockTick()
     {
         Price = 195.5M, QuoteSymbol = "MSFT"
     }));
 }