예제 #1
0
 /// <summary>
 /// 往a¨′入¨?场?记?录?队¨?列¢D中D添?¨a加¨?数oy据Y
 /// </summary>
 /// <param name="record"></param>
 public void AcceptUpLoadData(IDataUpLoad data)
 {
     lock (_objLock)
     {
         queueDataUpLoad.Enqueue(data);
         AcceptDataEvent.Set();
     }
 }
예제 #2
0
 /// <summary>
 ///  处?|理¤¨a出?场?队¨?列¢D中D的ì?数oy据Y
 /// </summary>
 private void AcceptUpLoadDataWork(object state)
 {
     while (true)
     {
         try
         {
             AcceptDataEvent.WaitOne();
             IDataUpLoad iDataUpLoad = null;
             while (queueDataUpLoad.Count > 0)
             {
                 lock (_objLock)
                 {
                     if (queueDataUpLoad.Count > 0)
                     {
                         iDataUpLoad = queueDataUpLoad.First();
                     }
                 }
                 if (null != iDataUpLoad)
                 {
                     var result = iDataUpLoad.DataPush();
                     if (result)
                     {
                         queueDataUpLoad.Dequeue();
                     }
                 }
             }
             AcceptDataEvent.Reset();
         }
         catch (Exception ex)
         {
             LogHelper.Log.Error("上|?传??数oy据Y错?¨a误¨?:êo" + ex.Message);
         }
         finally
         {
             AcceptDataEvent.Reset();
         }
     }
 }