public void UpdateBySnapshot(CBfxStockStorMsgUpdSnap data)
        {
            CBfxStorStorMsg msg = new CBfxStorStorMsg {
                Event = EnmStockMsgUpd.UpdateSnapshot, Data = data
            };

            _queue.Add(msg);
        }
        public void Update(CBfxStockStorUpdStock data)
        {
            CBfxStorStorMsg msg = new CBfxStorStorMsg {
                Event = EnmStockMsgUpd.UpdateStock, Data = data
            };

            _queue.Add(msg);
        }
 public void ThreadMain()
 {
     while (true)
     {
         CBfxStorStorMsg msg = _queue.GetElementBlocking();
         if (msg.Event == EnmStockMsgUpd.UpdateStock)
         {
             CBfxStockStorUpdStock updStock = (CBfxStockStorUpdStock)msg.Data;
             Update(updStock.prec, updStock.price, updStock.count, updStock.amount);
         }
         else if (msg.Event == EnmStockMsgUpd.UpdateSnapshot)
         {
             CBfxStockStorMsgUpdSnap updSnap = (CBfxStockStorMsgUpdSnap)msg.Data;
             UpdateBySnapshot(updSnap.prec, updSnap.jArrOrderBook);
         }
     }
 }